2016-03-16 86 views
0

我使用下面的任務將文件夾壓縮到一個zip文件。但是當我解壓zip文件時,我發現文件夾中的符號鏈接丟失了。Ant壓縮任務會丟失符號鏈接?

<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

,而不是內置的zip命令,請嘗試使用exec和使用

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

我試着在命令行等同於Mac和爲我工作,請讓我知道你在想什麼系統這個。

注意,這需要你在你的路徑中有一個'zip'可執行文件(我假設你這樣做)

1

zip格式本身並不真正支持可移植方式的符號鏈接(並且Ant不支持任何不太便攜的選項)。 Ant的tar任務也沒有。