Spring Boot 3中如何正确配置激活的配置文件?
Spring Boot激活prod配置文件的正确方式
你的问题核心是prod配置文件未正常加载覆盖默认配置,下面是具体解决步骤:
1. 适配Spring Boot版本的配置格式
- Spring Boot 2.3及更早版本:你原有的application.yml写法是正确的,若配置未生效,先确认两个配置文件都放在
src/main/resources根目录下,路径不能出错。 - Spring Boot 2.4+版本:旧写法虽兼容,但建议给application-prod.yml补充profile归属声明,避免加载异常:
application.yml保持原有写法即可:spring: config: activate: on-profile: prod example: prod-examplespring: profiles: active: prod example: test
2. 排查配置优先级问题
如果仍未生效,检查是否有更高优先级的配置覆盖了example的值:
- 启动时传入的命令行参数(比如
--example=test) - 系统环境变量
- 自定义的配置加载逻辑
3. 验证profile是否成功激活
启动应用后查看日志,寻找类似The following profiles are active: prod的记录。如果没有这条日志,说明application.yml的缩进存在问题(YAML要求用空格缩进,不能用制表符),检查spring.profiles.active相关配置的缩进是否正确。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

