将 application.properties 与 .war 分开用于 tomcat 容器
separate application.properties from .war for tomcat container
当我为我的项目使用可执行文件 .jar
时,我可以将我的 application.properties
文件放入与我的 .jar
相同的文件夹中,并且我所有的 属性 值都将是从扩展 application.properties
文件读取。
我的问题是: .war
和 tomcat
服务器可以这样制作吗?
[更新]
答案是: 在独立 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
始终搜索的默认配置位置:
- 文件:./config/
- 文件:./
- 类路径:/config/
- 类路径:/
Spring 引导文档的 Externalized Configuration 部分提供了更多信息。
请参阅 Tomcat Class 加载程序以了解您的 Tomcat 版本,以了解所有 class 加载程序可用的内容。根据这一点,您可以将应用程序属性文件添加到共享或通用 class 加载程序,方法是将其保存在适当的目录中,并将该目录添加到 catalina.properties
文件中的 class 加载程序条目中。 Tomcat 7 文档没有显示共享的 classloader,但是 catalina.properties
确实有一个占位符。如果共享有效,请选择它而不是 common Tomcat 7 Classloader
当我为我的项目使用可执行文件 .jar
时,我可以将我的 application.properties
文件放入与我的 .jar
相同的文件夹中,并且我所有的 属性 值都将是从扩展 application.properties
文件读取。
我的问题是: .war
和 tomcat
服务器可以这样制作吗?
[更新]
答案是: 在独立 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
始终搜索的默认配置位置:
- 文件:./config/
- 文件:./
- 类路径:/config/
- 类路径:/
Spring 引导文档的 Externalized Configuration 部分提供了更多信息。
请参阅 Tomcat Class 加载程序以了解您的 Tomcat 版本,以了解所有 class 加载程序可用的内容。根据这一点,您可以将应用程序属性文件添加到共享或通用 class 加载程序,方法是将其保存在适当的目录中,并将该目录添加到 catalina.properties
文件中的 class 加载程序条目中。 Tomcat 7 文档没有显示共享的 classloader,但是 catalina.properties
确实有一个占位符。如果共享有效,请选择它而不是 common Tomcat 7 Classloader