将 application.properties 与 .war 分开用于 tomcat 容器

separate application.properties from .war for tomcat container

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

我的问题是: .wartomcat 服务器可以这样制作吗?

[更新]

答案是: 在独立 tomcat 上,你必须在 <tomcat>/bin

中放置一个 application.properties

感谢@Strelok

您可以 运行 您的应用程序 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. 文件:./config/
  2. 文件:./
  3. 类路径:/config/
  4. 类路径:/

Spring 引导文档的 Externalized Configuration 部分提供了更多信息。

请参阅 Tomcat Class 加载程序以了解您的 Tomcat 版本,以了解所有 class 加载程序可用的内容。根据这一点,您可以将应用程序属性文件添加到共享或通用 class 加载程序,方法是将其保存在适当的目录中,并将该目录添加到 catalina.properties 文件中的 class 加载程序条目中。 Tomcat 7 文档没有显示共享的 classloader,但是 catalina.properties 确实有一个占位符。如果共享有效,请选择它而不是 common Tomcat 7 Classloader