ファイルをインクルードしたいのですがzipfileset
、名前も変更します
例えば
<zipfileset dir="${basedir}/test/target" prefix="webapps">
<include name="test*.war"/>
</zipfileset>
test.war
名前を からに変更したいsample.war
これを達成する方法は?ありがとうございました。
mappedresources
おそらく、リソース コレクションを使用して、やりたいことを実行できます。これは、基本的なテストで「うまくいきました」(と呼ばれる1つの入力戦争test1.war
):
<mappedresources id="mapped.zfs">
<zipfileset dir="${basedir}/test/target">
<include name="test*.war"/>
</zipfileset>
<globmapper from="test*" to="webapps/sample*" />
</mappedresources>
<zip destfile="eg.zip">
<resources refid="mapped.zfs" />
</zip>
% unzip -l eg.zip
Archive: eg.zip
Length Date Time Name
--------- ---------- ----- ----
0 11-27-2012 00:19 webapps/
1423 11-27-2012 00:16 webapps/sample1.war
--------- -------
1423 2 files
私はこれが可能だとは思わない.私は2段階のアプローチを取るだろう.
名前を変更して追加します。
<move file="${basedir}/test/target/test.war" tofile="${basedir}/test/target/sample.war"/>
<zipfileset dir="${basedir}/test/target" prefix="webapps">
<include name="sample*.war"/>
</zipfileset>
またはコピーして追加します (両方が必要な場合):
<copy file="${basedir}/test/target/test.war" tofile="${basedir}/test/target/sample.war"/>
<zipfileset dir="${basedir}/test/target" prefix="webapps">
<include name="sample*.war"/>
</zipfileset>
マーティンクレイトンの答えは私にとってはうまくいきました。また、すべてを 1 つの要素で (子として) 実行することもできました。
<zip destfile="eg.zip">
<mappedresources>
<zipfileset file="test*.war"/>
<globmapper from="test*" to="webapps/sample*" />
</mappedresources>
<!-- additional file-sets and resources may be listed here -->
</zip>
ピーターが述べた解決策に加えて、同じファイルの2つのコピーを保持したくない場合は、コピーしたファイルを削除できます...
<copy file="${basedir}/test/target/test.war" tofile="${basedir}/test/target/sample.war"/>
<zipfileset dir="${basedir}/test/target" prefix="webapps">
<include name="sample*.war"/>
</zipfileset>
<delete file="${basedir}/test/target/sample.war"/>
これで、test.warのコピーが重複することはありません。