加入spring-boot后导致maven的profile多环境配置失效的问题解决
加入spring-boot后导致maven的profile多环境配置失效的问题解决
一路向北的兔斯基 发表于1年前
加入spring-boot后导致maven的profile多环境配置失效的问题解决
  • 发表于 1年前
  • 阅读 1034
  • 收藏 2
  • 点赞 2
  • 评论 1

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 加入spring-boot后导致maven的profile多环境配置失效的问题解决,配置文件中与环境有关的配置项没有替换相应的值。

搞了一上午,之前项目中使用profile多环境配置完全没问题,但新项目死活不行。最后分析发现是因为引入spring-boot导致无法替换变量,然后又继续研究原因。

 

spring-boot引用方式官方推荐是使用:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.6.RELEASE</version>
    </parent>

然后去看了一下对应的pom.xml文件,发现spring-boot为了保护application.yml和application.properties,修改了默认的占位符${...}为@...@,然后发现resources插件有一个配置项:

<useDefaultDelimiters>true</useDefaultDelimiters>

会使用默认的占位符,增加此配置项后就没问题了。

resource插件完整的配置:

<plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <encoding>utf-8</encoding>
                        <useDefaultDelimiters>true</useDefaultDelimiters>
                    </configuration>
                </plugin>

 

这个问题说起来就几句话,但profile多环境配置没有生效的时候真是一头雾水。

标签: spring boot maven profile
共有 人打赏支持
粉丝 4
博文 46
码字总数 16935
评论 (1)
winby
牛逼,我找了大半天了,各种方法都试过了,自己又重新建了个项目,然后构建自模块测试,配置文件参数替换没有问题,又回去看之前的父项目,看到有spring-boot然后我就盯上它了,让后找这方面的问题,果然有那就是博主写的了,问题解决了,不得不说这问题也真是让人心累,要是抛问题也好,关键都不抛问题,还是谢谢博主了
×
一路向北的兔斯基
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: