maven占位符$变量无法替换
生活随笔
收集整理的這篇文章主要介紹了
maven占位符$变量无法替换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題:
maven多module開發過程中,父module繼承了
<parent><groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath/>
</parent>
現在想實現配置文件的多環境運行,比如有application-sit.yml,application-uat.yml,想在application.yml文件中通過變量env控制不同的環境使用不同的配置文件,
但是打包的時候發現怎么都替換不了,打包的命令:mvn clean package -DskipTests=true -Denv=uat?或者mvn clean package -DskipTests=true -Denv=sit,
最后打完包application.yml還是如下 spring:
profiles:
active: ${env}
解決辦法:
加上標紅的那句話 <plugin>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>utf-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
原因:
spring-boot為了保護application.yml和application.properties,修改了默認的占位符${...}為@...@,受影響的應該是spring boot 1.3.0以上的版本,
加上那句表示使用默認的占位符
轉載于:https://www.cnblogs.com/muzhao/p/8340331.html
總結
以上是生活随笔為你收集整理的maven占位符$变量无法替换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac PHP集成开发工具(PhpSto
- 下一篇: String的介绍