如何将外部属性文件位置添加到部署到tomcat 6的Spring Boot应用程序?

时间:2016-11-13 11:06:54

标签: java spring-boot properties tomcat6

我有一个使用注释配置的Spring Boot应用程序。我有application.properties和application- {profile} .properties文件已包含数据。问题是我现在想在Tomcat 6服务器上定义WAR外部位置,我可以在其中放置优先级的配置文件。也就是说,我在这些属性文件中放置的任何设置都应该胜过application.properties或application- {profile} .properties中的任何值。

如何以最简单的方式实现这一目标?

我已经尝试添加@PropertySources但是在属性文件顺序中具有较低的优先级,因此这不是一个可能的解决方案。我可以轻松更改属性文件加载顺序吗?

无法将环境变量添加到服务器,因为这可能会影响其他已部署的应用程序。 WAR必须是自包含的并提供它所需的一切(除了这个外部属性覆盖文件)。

1 个答案:

答案 0 :(得分:1)

您可以配置spring.config.location as described in the doc,或者如果您希望无论如何都可以实施EnvironmentPostProcessor

university session at Devoxx中有一个示例we showcase how to read a file from the home directory,并在命令行属性后添加它。你可以做同样的事情并按照你想要的方式订购它们。

示例应用是available here,如果您想尝试一下。