You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Spring Boot 2.4.8后@ActiveProfiles逗号分隔配置失效咨询

问题原因说明

这个是Spring Framework 5.3.0版本引入的官方正式变更,不属于未公开的异常问题:

  • Spring 5.2.x及更早版本中,@ActiveProfiles 注解传入单个带逗号的字符串时,框架会隐式按逗号拆分内容,将其解析为多个独立的Profile,你的旧写法@ActiveProfiles("dev,postgres")就是依赖这个隐式逻辑实现的多Profile加载
  • Spring 5.3.0版本之后(你升级使用的Spring 5.3.8属于该版本区间),官方移除了这个隐式拆分规则,调整为:仅当你显式传入字符串数组时,才会将每个数组元素识别为独立的Profile;如果传入单个字符串,无论是否包含逗号,都会被整体识别为单个Profile名称,所以你之前的写法会被框架当成要加载名为dev,postgres的单个Profile,自然找不到对应的两个独立配置文件
  • 你调整后的写法@ActiveProfiles(value = {"dev", "postgres"})是符合新版本规则的标准写法,无需额外修改其他配置。

内容的提问来源于stack exchange,提问作者JordiJansen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:48:05