解决IDEA Maven编译时@spring.profiles.active@没有替换成具体环境变量的问题

如果不加filtering = true,编译后的文件还是 @spring.profiles.active@
编译前的application.yml
在这里插入图片描述

编译后的application.yml【环境变量没有改变】
在这里插入图片描述

解决方案

找到 SpringBoot 启动类所在的pom.xml,在 resources 增加 filtering = true,然后重新编译即可。

	<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 解决yml配置 @spring.profiles.active@ 时编译后没有生成对应环境的问题 -->
                <filtering>true</filtering>
        </resources>
    </build>

查看编译后的资源文件application.yml已经变成了具体的环境了。
在这里插入图片描述

### 解决IntelliJ IDEASpring Boot `application.yml`配置不生效问题 在处理`application.yml`配置文件未能按预期工作的情况时,有几个方面需要注意。确保项目结构正确无误,并且IDE能够识别并加载这些资源文件。 #### 检查配置文件位置 确认`application.yml`位于项目的`src/main/resources/`目录下[^3]。这是Spring Boot默认查找外部化配置的位置。如果放置于其他路径,则需调整程序启动参数来指定其所在地址。 #### 校验YAML语法准确性 错误的缩进或格式可能会导致解析失败。利用在线工具验证文档的有效性,或者借助编辑器内置的支持(如通过安装特定插件)来进行实时检查和修正[^2]。 #### 查看激活Profile设置 有时即使存在多个profile-specific配置文件(`application-{profile}.yml`),也可能因为当前活动profile未被正确定义而导致某些设定不起作用。可以通过命令行选项、环境变量或是直接修改`application.yml`内的`sprinɡ.profiles.active`属性等方式指明要使用的profile名称[^5]。 #### 排除缓存干扰因素 尝试清理Maven仓库以及重新导入依赖项,同时重启IDE以清除可能存在的内部状态残留影响。对于已打包的应用而言,在执行`java -jar ...`之前先删除旧版本的目标文件夹有助于排除陈旧编译产物带来的不确定性[^4]。 ```bash mvn clean install rm -rf ./target/ ``` #### 利用日志排查原因 适当提高日志级别以便观察框架初始化阶段关于配置读取过程的信息输出,从而定位具体哪一步出现了偏差。例如: ```yaml logging: level: org.springframework.boot.context.config.ConfigFileApplicationListener: DEBUG ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值