Maven install,占位符${}没有被替换

问题:

maven多module开发过程中,父module继承了


org.springframework.boot
spring-boot-starter-parent
1.5.2.RELEASE

现在想实现配置文件的多环境运行,比如有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}

解决办法:
添加useDefaultDelimiters标签,并且设置为true


    maven-resources-plugin
    
        utf-8
        true
    

原因:
spring-boot为了保护application.yml和application.properties,修改了默认的占位符${...}为@...@,受影响的应该是spring boot 1.3.0以上的版本,
加上那句表示使用默认的占位符

Maven自定义占位符:


          org.apache.maven.plugins
          maven-resources-plugin
          2.5
          
              false
              
                  $[*]
              
              UTF-8
          

转载:maven占位符$变量无法替换

你可能感兴趣的:(Maven install,占位符${}没有被替换)