Spring Boot maven profile 替換不成功原因?
阿新 • • 發佈:2019-01-01
配置logback.xml
替換的時候,發現替換不成功
<property name="LOG_FILE_HOME" value="${log.root.path}" />
期望裡面的${log.root.path}
=> /var/logs/discover
但是怎麼樣子都替換不了
後來發現,spring boot 對 maven 的resource外掛進行了單獨的配置
spring-boot-starter-parent-1.4.1.RELEASE.pom
<plugin>
<groupId>org.apache.maven.plugins</groupId >
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<delimiters>
<delimiter>${resource.delimiter}</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters >
</configuration>
</plugin>
可以看到裡面的delimiter
替換為了 ${resource.delimiter}
再看一下這個配置是什麼?
<!-- delimiter that doesn't clash with Spring ${} placeholders --> <resource.delimiter>@</resource.delimiter>
我們可以看到變成了@
符號,並且他也提示了需要使用與Spring $ {}佔位符不衝突的分隔符。
那麼把上面 logback
<property name="LOG_FILE_HOME" value="@[email protected]" />
或者配置一下 ${resource.delimiter}
,但是不能與${}
衝突