SpringApplication 将从以下位置的 application.properties 文件加载属性并将它们添加到 Spring 环境:
- A /config subdirectory of the current directory. - The current directory - A classpath /config package - The classpath root
该列表按优先级排序(在列表较高位置定义的属性会覆盖较低位置定义的属性)。
问题:当在 tomcat
服务器上运行 war
文件时:如何为 application.properties
在容器 之外,比如 d:\application.properties
tomcat ---
?
自定义位置应获得关于上述位置的最高优先级。
问题是:我当然可以在 tomcat 中的爆炸战争中添加一个 /config
文件夹 webapps
文件夹,但是如果 webapps 文件夹被清理和战争,我将丢失任何自定义配置被重新部署。
因此我想在外面添加一个额外的位置。
原文由 membersound 发布,翻译遵循 CC BY-SA 4.0 许可协议
对我来说,最简单的方法是在 Tomcat 的配置文件夹中放置一个上下文文件。例如,如果您的应用程序在根路径下运行(例如
http://your_domain.com/
),您需要创建一个文件[path_to_your_tomcat]/conf/Catalina/localhost/ROOT.xml
。如果您的应用程序在不同的路径中运行,例如http://your_domain.com/example_path
文件应该这样命名[path_to_your_tomcat]/conf/Catalina/localhost/example_path.xml
。在此文件中,您可以指定外部 application.properties 文件的路径,该文件可以放置在硬盘驱动器的任何位置。