官方Resources插件资料
http://maven.apache.org/plugins/maven-resources-plugin/examples/escape-filtering.html
变量过滤格式
-
${xxxx} 格式,
这是最常用的,但有在spring boot里,maven 的这种格式跟application.properties 的冲突了, 所以可以第二种格式 -
@xxx@ 格式
转义过滤
有时候需要从maven properties里配置一个变量的值是一个 ${xxx}格式的值,例如:
<properties>
<xxx>我是xxx,不过我的值是yyy</xxx>
<my.value>${xxx}</my.value>
</properties>
但实际过滤的时候,会把${xxx}作为"环境变量"替换掉,而不是把他当做一个 "值" 来配置。
意思就是: ${xxx} 先被替换成 "我是xxx,不过我的值是yyy"
然后引用 @my.value@ 的地方就会替换成 "我是xxx,不过我的值是yyy"
可以使用resources插件配置的转义符号进行转义,配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<escapeString>\</escapeString>
</configuration>
</plugin>
然后更改properties:
<properties>
<xxx>我是xxx,不过我的值是yyy</xxx>
<my.value>\${xxx}</my.value>
</properties>
这个时候 引用 @my.value@ 的地方就替换成 ${xxx}
网友评论