将.war的application.properties与tomcat容器分开

时间:2017-08-23 03:07:06

标签: java tomcat spring-boot war

当我对项目使用可执行文件.jar时,我可以将application.properties文件放入与.jar相同的文件夹中,并且我的所有属性值都将从扩展{{1}中读取文件。

我的问题是: application.properties.war服务器可以这样做吗?

[UPDATE]

答案是:在独立的tomcat上,您必须在tomcat中放置application.properties

感谢@Strelok

2 个答案:

答案 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

始终搜索的默认配置位置:

  1. 文件:./配置/
  2. 文件:./
  3. 类路径:/配置/
  4. 类路径:/
  5. Spring Boot文档的Externalized Configuration部分提供了更多信息。

答案 1 :(得分:1)

为您的Tomcat版本引用Tomcat类加载器,以了解所有类加载器的可用性。根据这一点,您可以将应用程序属性文件保存在适当的目录中,并将该目录添加到catalina.properties文件中的类加载器条目中,从而将应用程序属性文件添加到Shared或Common类加载器。 Tomcat 7文档没有显示共享类加载器,但catalina.properties确实有一个占位符。如果共享有效,请转而使用普通Tomcat 7 Classloader