Ant从属性文件中替换标记

我想用Ant替换源文件中的标记:

some test ${foo} other text ...

令牌包含在属性文件中,例如:

foo=1

事实上,如果源文件中的标记像'@@ foo @@'或'foo'那样很容易,但我无法替换整个标记:$ {foo}

我几年前成功了,但这次我失败了......

谢谢


这有点类似于这些。

属性从文件properties.txt中加载。 这里的弱点在于,在输入文本中出现的所有${被转换为{在替换令牌之前 - 如果该字符串出现在文本的其他地方,这可能会破坏事情。 如果这是一个问题,它仍然无法适应这种解决方案。

<copy file="input.txt" tofile="output.txt">
    <filterchain>
    <replaceregex pattern="${" replace="{" />
    <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
            <param type="propertiesfile" value="properties.txt"/>
            <param type="tokenchar" name="begintoken" value="{"/>
            <param type="tokenchar" name="endtoken" value="}"/>
    </filterreader>
    </filterchain>
</copy>
链接地址: http://www.djcxy.com/p/47863.html

上一篇: Ant replace token from properties file

下一篇: Event driven architecture...infinite loop