如何使用ant复制最新更新的单个文件?

时间:2014-06-14 15:26:22

标签: java ant

我正在使用ant来构建带有时间戳的应用程序。它目前正在运行。现在我想获取最新的更新文件夹,以便我可以将其复制到任何其他文件夹。

我试过,它只打印我最新的文件,但它没有将该文件复制到另一个文件夹。

请帮帮我

    <tstamp> 
        <format property="timestamp" pattern="dd-MMM-yy" locale="en,UK"/> 
    </tstamp>

        <timestampselector property="latest.modified">
          <path>
            <fileset dir="${Engine.stagging.dir}">                
            </fileset>
          </path>
        </timestampselector>

    <copy todir="${prjHop.release.dir}" flatten="true" overwrite="true">
        <fileset dir="${Engine.stagging.dir}">
            <include name="${latest.modified}"/>
        </fileset>
    </copy>

还试过这个来复制

<copy todir="${prjHop.release.dir}">
   <path refid="${latest.modified}"/>
</copy>

 <echo message="${latest.modified}" />

此回显是打印当前文件夹和文件名。我只是想复制该文件夹中的文件。

由于

1 个答案:

答案 0 :(得分:0)

${latest.modified}包含文件的绝对路径。在include嵌套元素中使用此路径时,copy任务将无法在${Engine.stagging.dir}中指定的目录中找到该文件,因此不会复制该文件。

您可以按照以下方式进行复制:

<copy file="${latest.modified}" todir="${prjHop.release.dir}"/>