Ant zip任务会丢失符号link?
Ant zip task will lost symbolic link?
我使用以下任务将文件夹压缩为 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
zip 格式本身并不真正支持可移植方式的符号链接(并且 Ant 不支持任何不太可移植的选项)。 Ant 的 tar
任务也没有。
而不是内置的 zip 命令,尝试使用 exec 并使用
<exec executable="zip">
<arg value="--symlinks"/>
<arg value="-r"/>
<arg value="${file.path}"/>
<arg value="tmp"/>
</exec>
我在 mac 上尝试了等效的命令行并为我工作,请告诉我你在什么系统上尝试这个。
请注意,这要求您的路径中有一个 '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
zip 格式本身并不真正支持可移植方式的符号链接(并且 Ant 不支持任何不太可移植的选项)。 Ant 的 tar
任务也没有。
而不是内置的 zip 命令,尝试使用 exec 并使用
<exec executable="zip">
<arg value="--symlinks"/>
<arg value="-r"/>
<arg value="${file.path}"/>
<arg value="tmp"/>
</exec>
我在 mac 上尝试了等效的命令行并为我工作,请告诉我你在什么系统上尝试这个。
请注意,这要求您的路径中有一个 'zip' 可执行文件(我假设您有)