2012-08-22 93 views
1

這是記者從昨天與我的問題跟進的問題:我使用Ant 1.8.2和我能夠在耳朵來更新文件,使用我在做的例子 Ant Ear Update Without Full Exploding Ear螞蟻巢更新

提供上面的鏈接。

我的耳朵文件中有一個war文件,我希望看看是否有辦法進行嵌套更新(例如更新耳朵中的戰爭中的文件)。

我的另一種選擇是提取戰爭,更新戰爭,然後用更新的戰爭更新耳朵。如果有辦法進行嵌套更新,我認爲這會節省我的時間,因爲我的戰爭文件非常大。

回答

0

以下是我的另一種方法POC,以防有人感興趣。如果我們找不到「嵌套」更新,我會使用它。

<property name="ear.file1"   value="file1.ear"/> 
<property name="war.file1"   value="war1.war"/> 
<property name="war.file"   value="war.war"/> 
<property name="war.file.backup" value="warBk.war"/> 
<property name="text.file1"   value="1.txt"/> 
<property name="text.file2"   value="2.txt"/> 
<property name="xml.application1" value="application.xml"/> 

<target name="clean"> 
    <delete file="${ear.file1}"/> 
    <delete file="${war.file}"/> 
    <delete file="${war.file.backup}"/> 
</target> 

<target name="run"> 

    <!-- Our war file contains 1.txt, allows us add 2.txt and verify updates properly --> 
    <copy file="${war.file1}" tofile="${war.file}"/> 

    <!-- simple ear that will be updated --> 
    <ear earfile="${ear.file1}" appxml="${xml.application1}"> 
     <fileset dir="." includes="${text.file1}"/> 
     <fileset dir="." includes="${war.file}"/> 
    </ear> 

    <!-- Backup war, for comparision purposes --> 
    <move file="${war.file}" tofile="${war.file.backup}" overwrite="true" /> 

    <!-- Extact the war we just added --> 
    <unzip dest="." src="${ear.file1}" overwrite="true" > 
     <patternset> 
      <include name="${war.file}" /> 
     </patternset> 
    </unzip> 

    <!-- Update the war by adding a file --> 
    <war destfile="${war.file}" update="true"> 
     <fileset dir="." includes="${text.file2}"/> 
    </war> 

    <!-- Update the ear with our updated war --> 
    <ear earfile="${ear.file1}" appxml="${xml.application1}" update="true"> 
     <fileset dir="." includes="${war.file}"/> 
    </ear> 
</target> 

<target name="main" depends="clean,run"/>