ANT 替换文件中的所有标记
ANT replace all tokens in file
我正在尝试使用 ANT 内置(所以没有贡献)来创建配置文件。
我想做的是,如果设置了 .properties 文件中的 属性,ANT 将替换配置文件中的相应标记。
但是因为我得到了 2 组(或更多)属性,所以我首先需要过滤它们。
例如:
build.properties :
test.p1=valueTestA
test.p2=valueTestB
prod.p2=valueProdA
prod.p3=valueProdB
base cfg file :
var1 = "@p1@";
var2 = "@p2@";
var3 = "@p3@";
最后,取决于我是使用 test 还是 prod 属性组,只有 @p1@ @p2@
OR @p2@ @p3@ 将被替换(其他忽略)
我尝试使用 <propertyref>
和 <mapper>
进行过滤,但看起来我做错了。
有什么想法可以帮助我做到这一点吗?
仅声明过滤器是不够的,
你应该使用像
这样的东西
<filter filtersfile="build.properties"/>
<copy file="basecfgfile" tofile="${dest.file}" filtering="true" />
在这种情况下,请注意令牌文本需要匹配,即 'p1' 而不是 'prod.p1'。
为什么不使用 ant-contrib 有什么特别的原因或限制?
我正在尝试使用 ANT 内置(所以没有贡献)来创建配置文件。
我想做的是,如果设置了 .properties 文件中的 属性,ANT 将替换配置文件中的相应标记。
但是因为我得到了 2 组(或更多)属性,所以我首先需要过滤它们。
例如:
build.properties :
test.p1=valueTestA
test.p2=valueTestB
prod.p2=valueProdA
prod.p3=valueProdB
base cfg file :
var1 = "@p1@";
var2 = "@p2@";
var3 = "@p3@";
最后,取决于我是使用 test 还是 prod 属性组,只有 @p1@ @p2@ OR @p2@ @p3@ 将被替换(其他忽略)
我尝试使用 <propertyref>
和 <mapper>
进行过滤,但看起来我做错了。
有什么想法可以帮助我做到这一点吗?
仅声明过滤器是不够的,
你应该使用像
这样的东西<filter filtersfile="build.properties"/>
<copy file="basecfgfile" tofile="${dest.file}" filtering="true" />
在这种情况下,请注意令牌文本需要匹配,即 'p1' 而不是 'prod.p1'。
为什么不使用 ant-contrib 有什么特别的原因或限制?