我有一个带有多个properties
文件的spring-boot 2.1.3.RELEASE应用程序。
在我的/src/main/resources
中,我有my-app.properties
并已配置my-app-local.properties
。
此外,在项目之外,我还有另一个配置文件的属性文件/config/my-app-local.properties
。
此配置的重点是具有以下属性层次结构:
/resources/my-app.properties
/resources/my-app-local.properties
/config/my-app-local.properties
因此,当我尝试使用以下参数运行应用程序时:
--spring.profiles.active=local --spring.config.name=my-app --spring.config.location=config/my-app.properties
该应用程序无法启动,因为找不到任何properties
个文件。
但是,此配置和参数在spring-boot 1.5.19.RELEASE上运行良好。在spring-boot 2中如何实现相同的目的?
答案 0 :(得分:1)
使用spring.config.additional-location
doc
使用
spring.config.location
配置自定义配置位置时,它们替换默认位置。例如,如果spring.config.location
配置为值classpath:/custom-config/,file:./custom-config/,
,则搜索顺序如下:
file:./custom-config/
classpath:custom-config/
或者,当使用
spring.config.additional-location,
配置自定义配置位置时,除默认位置外,还将使用它们。在默认位置之前搜索其他位置。例如,如果配置了classpath:/custom-config/,file:./custom-config/
的其他位置,则搜索顺序将变为:
file:./custom-config/
classpath:custom-config/
file:./config/
file:./
classpath:/config/
classpath:/