在ant build中的Copy Task之前重命名文件

时间:2017-11-21 17:50:00

标签: build ant

我是ant build文件的新手。 目前我得到一个构建文件列表:

a.cls
b.cls
c.cls

但在我的本地,我必须在同一目录中运行构建文件:

a-meta.cls
b-meta.cls
c-meta.cls

此处meta关键字保持一致。我正在使用以下build.xml文件。我不确定如何在实际复制文件名之前重命名文件名。我尝试了replacemapper和其他antlib任务。但没有帮助。

<project name="test" default="compile">
    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="lib/ant-contrib-1.0b3.jar"/>
        </classpath>
    </taskdef>

    <loadfile property="file" srcfile="filesToMove.txt"/> <!-- these are the list of files, i mentioned earlier -->
    <target name="compile">
        <echo>${file}</echo> <!-- here i have to rename file name to include -meta -->
        <copy file="./classes/${file}" tofile="./src/classes/${file}" overwrite="true"/>
    </target>
</project>

如何在移动文件之前重命名文件。

1 个答案:

答案 0 :(得分:0)

它的解决方案是替换Commands以仅查找名称,然后附加.cls。如下(与问题中的先前版本相比,某些部分发生了变化)

-meta.html