搞了一上午,以前項目中使用profile多環境配置徹底沒問題,但新項目死活不行。最後分析發現是由於引入spring-boot致使沒法替換變量,而後又繼續研究緣由。spring
spring-boot引用方式官方推薦是使用:app
<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插件有一個配置項:maven
<useDefaultDelimiters>true</useDefaultDelimiters>
會使用默認的佔位符,增長此配置項後就沒問題了。spring-boot
resource插件完整的配置:.net
<plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>utf-8</encoding> <useDefaultDelimiters>true</useDefaultDelimiters> </configuration> </plugin>
這個問題提及來就幾句話,但profile多環境配置沒有生效的時候真是一頭霧水。插件