2010-08-03 100 views
2

我正在使用ANT爲我的Java Web應用程序構建WAR文件。但是,當我查看WAR文件時,我會看到每個文件出現兩次(不是文件夾,只是文件)。當我提取WAR文件時,沒有錯誤,文件結構看起來是正確的,沒有雙重文件。然後,如果我將提取的文件重新壓縮爲ZIP文件,則歸檔幾乎幾乎是ANT創建的原始WAR文件的一半大小。WAR內的文件顯示爲雙倍

我使用以下任務創建我的WAR文件:

<target name="dist" depends="package">   
    <war destfile="${bin.dir}/webapp.war" basedir="${tmp.dir}"> 
     <fileset dir="${tmp.dir}" /> 
    </war> 
</target> 

當我檢查在tmp.dir文件結構中的文件似乎出現確定。我在Ubuntu 9.10的Eclipse(Helios)中運行ANT。

回答

2

我發現是什麼導致了這個問題。 <war>任務中的<fileset>標記以某種方式導致文件被添加到存檔兩次。如果ANT發現錯誤,但沒有發現,這將是一件好事。因爲我想整個tmp.dir添加到我的檔案,我已經習慣了以下內容:

<target name="dist" depends="package">   
    <war destfile="${bin.dir}/webapp.war" basedir="${tmp.dir}"> 
     <!-- No extra <fileset> --> 
    </war> 
</target> 

萬一別人遇到這個問題,我在這裏把這個問題留給,而不是將其刪除。