为什么移动任务不移动符号链接?

时间:2013-07-05 20:10:39

标签: deployment ant move symlink

我有一个部署脚本,我将目录移动到另一个目录。在这个目录中,我有一个相对于父文件夹的符号链接,如下所示:

abc -> ../dir/file

dir/file也在部署的目录中。

我使用以下xml行移动目录:

<move todir="${deploy.dir}">
    <fileset dir="${to.deploy}">
        <include name="**/*" />
    </fileset>
</move>

一切都被移动但不是符号链接。留在${deploy.dir}。为什么?也许Ant不知道如何设置新的符号链接(新位置)?

你怎么解决这个问题?删除符号链接并使用symlink目标创建一个新的?

1 个答案:

答案 0 :(得分:1)

符号链接是特殊文件。 Ant无法完全处理它们。 Here is the note

  

Ant在移动,删除和递归时不是符号链接   在目录树下建立一个文件列表。意外   事情可能发生。

您需要一个自定义解决方案,可能使用readlink。问题How do I move a relative symbolic link?和答案指向其他解决方案(尽管与ant无关)