【问题标题】:Update destination directory with new files (if modified) using ant使用 ant 使用新文件(如果已修改)更新目标目录
【发布时间】:2014-03-24 08:31:59
【问题描述】:

我遇到了蚂蚁“副本”的问题。这是我的要求: 我想同步 2 个目录(dir1 和 dir2),但我想保留 dir2 中存在的额外文件/目录。我的目标是我想将 dir1 的内容(如果已修改)复制到 dir2,但想保留 dir2 中存在的任何其他文件/目录。

我尝试了 ant 的同步任务,但它试图使两个目录保持同步,即,它正在删除 dir2 中存在的额外内容。我没有找到任何标志来禁用此功能:

<sync todir="dir2" failonerror="true" verbose="true">                             
<fileset dir="dir1" excludes="*.svn" />
 </sync>

我用“修改”选择器尝试了 ant 的副本,但它也在做同样的事情::(

<copy todir="dir2" failonerror="true">
  <fileset dir="dir1" excludes="*.svn" >                           
     <modified/> <!-- Copies only modified files -->
  </fileset>

任何人都可以建议,我怎样才能用 ant 实现我的要求?

【问题讨论】:

    标签: ant


    【解决方案1】:

    默认情况下,ANT 复制任务不会覆盖文件:

    <copy todir="target/dir2" verbose="true" overwrite="false">
      <fileset dir="src/dir1"/>
    </copy>
    

    复制任务还将检测文件是否已更改。

    复制任务不会删除文件,所以我不明白为什么您的第二个示例(使用修改后的选择器)不起作用。

    【讨论】:

    • 对垃圾邮件感到抱歉。我的第二个解决方案按预期工作。我没有正确检查:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多