ANT替换文件

时间:2016-03-07 14:18:10

标签: replace ant built-in

我正在尝试使用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>进行过滤,但看起来我做错了。

有什么想法可以帮我这么做吗?

1 个答案:

答案 0 :(得分:1)

单独声明过滤器是不够的,

你应该使用像

这样的东西
<filter filtersfile="build.properties"/>
<copy file="basecfgfile" tofile="${dest.file}" filtering="true" />

并且在这种情况下,请注意令牌文本需要匹配,即&#39; p1&#39;而不是&#39; prod.p1&#39;。

为什么不使用ant-contrib有什么特别的原因或限制?