我正在开发一个spring boot应用程序
我想使用外部文件(例如 /etc/projectName/application.properties
)覆盖 src/main/resources/application.properties
中的某些属性 .
我尝试了几种方法:
@PropertySource("file:/etc/projectName/application.properties")
作为ApplicationConfig.java
的注释
_1597522_中的application.properties
spring.config.location=/etc/projectName/application.properties
我用 spring.port
测试了它 . 第一种方法只添加了属性,但没有覆盖它们 .
1 回答
我总是在documentation中指定的命令行中使用
--spring.config.location=
,您可以在其中放置各种文件,一个使用默认值,另一个使用重写文件 .编辑:
或者,您也可以使用以下内容:
并在application.properties中指定
external.config
.这将提供覆盖配置的默认路径,通过在命令行中指定
--external.config
,它仍然可以覆盖 .我使用它将
${external.config}
定义为系统env变量,但它也应该与application.properties变量一起使用 .