一、问题描述
在 Spring Boot 项目中,当在 application.yml 中设置自定义配置文件名称和路径时:
application.yml
spring:
config:
name: myproject
location: classpath:/myconfig/
或 application.properties
spring.config.name=myproject
spring.config.location=classpath:/myconfig/
结果不生效。
二、原因
关键在于:spring.config.name 和 spring.config.location 是 environment property (环境属性)。在 application.yml (application.properties)中设置已经太迟了!
三、方案
官方文档
的示例是启动的时候使用命令行指定:
$ java -jar myproject.jar --spring.config.name=myproject
// or
$ java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties