spring boot spring.config.name 不生效

一、问题描述

在 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

四、参考

  • Custom config location and config name on Spring Boot
  • Clarify that “spring.config.*” properties doesn’t work in configuration files
  • Application property files

你可能感兴趣的:(Spring,Boot,疑难杂症)