5

私は ant 1.8.2 を使用しており、大きな Ear ファイルがあります。

インストール時のユーザーの選択に応じて、耳にわずかな変更が必要です。

インストール プロセスの最後に、ユーザーの選択に基づいて耳を更新する ant スクリプトを実行します。これらのファイルは、ユーザーが関連するライセンスを持っている場合にのみ ear に含まれます...そのため、更新が必要です。

現在、耳全体を分解し、必要なファイルを追加してから、更新された耳を作成しています。

解凍/更新/圧縮プロセス全体を実行することなく、ファイルを削除および/または追加できる方法を見つけたいと思っています。

4

2 に答える 2

3

earタスクにはupdate属性があり、trueに設定できます。

このようにして、ファイルは新しいzipファイルを作成する代わりに、既存のzipファイルに追加されます。

于 2012-08-21T19:28:56.397 に答える
2

@oers 提案に感謝します。以下は、ファイルを ear に追加して application.xml ファイルを置き換えるために使用した POC です。

<property name="ear.file1"  value="file1.ear"/>
<property name="ear.file2"  value="file2.ear"/>
<property name="text.file1" value="1.txt"/>
<property name="text.file2" value="2.txt"/>
<property name="xml.application1"   value="application.xml"/>
<property name="xml.application2"   value="application2.xml"/>

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

<target name="run">
    <!-- simple ear -->
    <ear earfile="${ear.file1}" appxml="${xml.application1}">
        <fileset dir="." includes="${text.file1}"/>
    </ear>  

    <!-- simple ear that will be updated -->
    <ear earfile="${ear.file2}" appxml="${xml.application1}">
        <fileset dir="." includes="${text.file1}"/>
    </ear>  
    <!-- ear update, both application.xml file and add another file. -->
    <ear earfile="${ear.file2}" appxml="${xml.application2}" update="true">
        <fileset dir="." includes="${text.file2}"/>
    </ear>  

</target>

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

于 2012-08-21T22:33:19.850 に答える