Apache Ant:是否可以插入/替换原始文本文件中的文本?

时间:2011-05-31 16:56:37

标签: apache ant insert replace

我想从标准文本文件中获取文本并将其插入到由Apache Ant替换为令牌的XML中。这可能吗?

示例(这是我目前使用的):

<macrodef name="generateUpdateFile">
    <sequential>
        <echo message="Generating update file ..." level="info"/>
        <copy file="update.xml" tofile="${path.pub}/update.xml" overwrite="true">
            <filterchain>
                <replacetokens>
                    <token key="app_version" value="${app.version}"/>
                    <token key="app_updatenotes" value="${app.updatenotes}"/>
                </replacetokens>
            </filterchain>
        </copy>
    </sequential>
</macrodef>

$ {app.updatenotes}当前是在build.properties文件中定义的字符串。但我想在一个简单的文本文件中编写更新注释,然后从那里获取它们。

1 个答案:

答案 0 :(得分:6)

apache ant loadfile任务将允许读取您的文本文件,并将其内容放入app.updatenotes属性。

您可以简单地使用:

<loadresource property="app.updatenotes">
   <file file="notes.txt"/>
</loadresource>

然后,像以前一样使用您的filterchainloadresource有一些选项,例如控制文件的编码,或者控制文件不存在或不可读时如何反应。