2012-08-22 3 views
1

이 어제부터 내 질문에 관련된 후속 질문 : 나는 내가 만든 예제를 사용하여, 개미 1.8.2를 사용하고 귀에서 파일을 업데이트 할 수 있어요있어 Ant Ear Update Without Full Exploding Ear개미 중첩 업데이트

을 제공된 링크를 클릭하십시오.

귀 파일 안에 전쟁 파일이 있습니다. 중첩 된 업데이트 (예 : 전쟁중인 파일을 귀로 업데이트) 할 수있는 방법이 있는지 확인하고 싶습니다.

내 다른 옵션은 전쟁을 추출하고 전쟁을 업데이트 한 다음 업데이트 된 전쟁으로 귀를 업데이트하는 것입니다. 중첩 된 업데이트를 수행 할 방법이 있다면 내 전쟁 파일이 꽤 크기 때문에 시간을 절약 할 수 있다고 생각합니다.

답변

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"/>