Ant zip任务会丢失符号链接吗?

时间:2016-03-16 08:07:23

标签: ant zip

我使用以下任务将文件夹压缩为zip文件。但是当我解压缩zip文件时,我发现文件夹中的符号链接丢失了。

<zip destfile="${file.path}">
             <fileset dir="/tmp"/>
</zip>

例如,以前,该文件如下所示。

lrwxrwxrwx 1 xxxx xxxx        25 Mar 15 21:02 libboost_atomic.so -> libboost_atomic.so.1.57.0
-rwxr-xr-x 1 xxxx xxxx      9135 Feb  8 04:46 libboost_atomic.so.1.57.0

使用Ant压缩文件夹并解压后,它看起来如下所示。

-rw-r--r-- 1 xxxx xxxx      9135 Feb  8 04:46 libboost_atomic.so
-rw-r--r-- 1 xxxx xxxx      9135 Feb  8 04:46 libboost_atomic.so.1.57.0

2 个答案:

答案 0 :(得分:3)

而不是内置的zip命令,尝试使用exec并使用

 <exec executable="zip">
    <arg value="--symlinks"/>
    <arg value="-r"/>
    <arg value="${file.path}"/>
    <arg value="tmp"/>
  </exec>

我在mac上尝试过等效的命令行并为我工作,请告诉我你正在尝试使用的系统。

注意,这要求你在你的路径中有一个'zip'可执行文件(我假设你这样做)

答案 1 :(得分:1)

zip格式本身并不以可移植的方式真正支持符号链接(并且Ant不支持任何不那么便携的选项)。 Ant的tar任务也没有。