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

升级spring-boot-starter-parent后无法读取maven profile的spring.profiles.active属性

Spring Boot 2.5.5版本Profile占位符不替换解决方案

核心原因

该问题由两处配置错误+Spring Boot版本升级后的资源过滤规则调整共同导致:

  • 配置属性名拼写不匹配
  • 2.4+版本默认资源过滤规则变更,未显式开启占位符替换

具体解决步骤

  1. 修正application.properties配置
    当前配置存在两处拼写错误:
  • Spring Boot激活profile的官方配置key为spring.profiles.active(复数profiles),现有配置少了后缀s
  • pom中定义的属性名为spring.profiles.active,占位符中的属性名和pom定义不一致
    修正后的配置如下:
spring.profiles.active=@spring.profiles.active@
  1. 显式开启Maven资源过滤
    在pom.xml的<build>节点下添加如下资源配置,开启占位符替换功能:
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
    <!-- 原有其他build配置保持不变 -->
</build>

如果pom中已经配置了resources节点,仅需给对应resources配置项添加<filtering>true</filtering>即可。
3. 验证生效
重新执行Maven编译/打包命令,重启项目即可看到正确的profile激活信息。

可选检查项

如果完成以上配置后仍未生效,检查pom中是否存在自定义Maven资源分隔符的配置,确保分隔符为@即可,spring-boot-starter-parent默认已内置该配置,无自定义需求无需额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:45:02