当我对项目使用可执行文件.jar
时,我可以将application.properties
文件放入与.jar
相同的文件夹中,并且我的所有属性值都将从扩展{{1}中读取文件。
我的问题是: application.properties
和.war
服务器可以这样做吗?
[UPDATE]
答案是:在独立的tomcat上,您必须在tomcat
中放置application.properties
感谢@Strelok
答案 0 :(得分:3)
您可以使用spring.config.location
协议将file:
属性设置为属性文件的路径来运行应用程序:
# will look for /etc/myapp/application.properties
-Dspring.config.location=file:/etc/myapp/
# will look for /etc/myapp/custom.properties
-Dspring.config.location=file:/etc/myapp/custom.properties
始终搜索的默认配置位置:
Spring Boot文档的Externalized Configuration部分提供了更多信息。
答案 1 :(得分:1)
为您的Tomcat版本引用Tomcat类加载器,以了解所有类加载器的可用性。根据这一点,您可以将应用程序属性文件保存在适当的目录中,并将该目录添加到catalina.properties
文件中的类加载器条目中,从而将应用程序属性文件添加到Shared或Common类加载器。 Tomcat 7文档没有显示共享类加载器,但catalina.properties
确实有一个占位符。如果共享有效,请转而使用普通Tomcat 7 Classloader