据我所知,通过部署Web应用程序的.war文件,Java Web应用程序部署在服务器上。这是对的吗?
我有一个Web应用程序,它具有一些配置,允许服务器管理员在部署时配置应用程序。防爆。设置保存日志文件的路径,设置存储上载文档的位置等。
我在.properties文件中定义了这些参数,并对其路径进行了硬编码。此后,我能够让Web应用程序读取.properties文件中的值,而无需重新编译源代码(因为.properties文件路径没有更改)。
现在我想知道如何在不修改.properties文件路径的情况下执行此操作,以便我可以在任何服务器上部署它,而不必担心其目录结构。
因此,在部署Web应用程序时是否可以提供.properties文件和.war文件,以便服务器管理员可以编辑.properties配置文件,部署。 war文件(不重新编译Web应用程序)在服务器上,让它读取.properties文件中的值?
如果是这样,Web应用程序如何知道.properties文件的位置?
答案 0 :(得分:0)
最佳做法是将属性文件放在可在类路径中找到的位置。您的应用程序使用
加载文件this.getClass().getClassLoader().getResourceAsStream( "myConfig.properties");
如果文件位于非标准类路径位置,则可以使用tomcats配置可能性来微调应用程序类路径。参见例如Understanding The Tomcat Classpath