我正在尝试使用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>
进行过滤,但看起来我做错了。
有什么想法可以帮我这么做吗?
答案 0 :(得分:1)
单独声明过滤器是不够的,
你应该使用像
这样的东西<filter filtersfile="build.properties"/>
<copy file="basecfgfile" tofile="${dest.file}" filtering="true" />
并且在这种情况下,请注意令牌文本需要匹配,即&#39; p1&#39;而不是&#39; prod.p1&#39;。
为什么不使用ant-contrib有什么特别的原因或限制?