我使用以下任务将文件夹压缩为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
答案 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
任务也没有。