2017-04-22 17 views
0

根据我所知,Java Web应用程序通过部署Web应用程序的.war文件部署在服务器上。它是否正确?如何在部署Java Web应用程序时知道.properties文件的位置以读取配置?

我有一个Web应用程序,它具有一些允许服务器管理员在部署时配置应用程序的配置。防爆。设置要保存日志文件的路径,设置存储上传文件的位置等。

我在.properties文件中定义了这些参数,并硬编码了它的路径。此后,我能够让Web应用程序读取.properties文件中的值,而无需重新编译源代码(因为.properties文件路径没有更改)。
现在我想知道如何做到这一点,而不用硬编码.properties文件的路径,这样我就可以在任何服务器上部署它,而不用担心它的目录结构。

那么,是不是可以提供Web应用程序被部署时的.properties与.war文件文件一起,使得服务器管理员可以编辑的.properties配置文件,部署.war文件(不重新编译Web应用程序)并让它读取.properties文件中的值?
如果是的话,Web应用程序如何知道.properties文件的位置?

回答

0

最佳实践是将属性文件放在可以在类路径中找到它的位置。您的应用程序加载与

this.getClass().getClassLoader().getResourceAsStream("myConfig.properties"); 

文件如果该文件位于一个非标准类路径位置,您可以通过微调雄猫配置possibilites您的应用程序类路径。见例如Understanding The Tomcat Classpath

+0

把它放在一个可以通过类路径找到它的位置意味着服务器管理员需要整个项目目录来更改.properties文件,对吧? – Nilushan

相关问题