でたzipfileset文のリストを再利用する私はに似てターゲットといくつかの脂肪を一緒に実行可能なjarを置くのbuild.xmlを持っている:ANT
コードは、Eclipse(エクスポート実行可能なJAR)で、マイナーで生成された<target name="create_myapp_jar">
<jar destfile="./production/myapp.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="com.something.entrypoints.MyApp"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="./classes"/>
<zipfileset excludes="META-INF/*.SF" src="./lib/commons-cli-1.2.jar"/>
<zipfileset excludes="META-INF/*.SF" src="./lib/commons-codec-1.10-sources.jar"/>
<zipfileset excludes="META-INF/*.SF" src="./lib/commons-codec-1.10.jar"/>
<zipfileset excludes="META-INF/*.SF" src="./lib/commons-io-2.4.jar"/>
<zipfileset excludes="META-INF/*.SF" src="./lib/commons-lang-2.6.jar"/>
<zipfileset excludes="META-INF/*.SF" src="./lib/commons-pool2-2.2.jar"/>
lots and lots of more JARs here....
</target>
私によって変わる
含まれるJarのリストは、実際はかなり長いです。私はこれらのファットジャーのいくつかを作りました、そして、どのように私は各ターゲットの<zipfileset>
ステートメントをリストすることを避けることができたのだろうか?
私はそれらをすべて一緒に叩き、それぞれのファットジャービルドターゲットから参照することはできますか?私のbuild.xmlが何百と何百もの行に膨らませないようにする目的で、すべて。また、もし私がどこかの定義を持つことができれば、それぞれのターゲットに新しいJARを追加するという苦労はなくなります。後で再利用するためのJarファイルセットを保存する必要がある場合は
<target name="create_myapp_jar">
<jar destfile="./production/myapp.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="com.something.entrypoints.MyApp"/>
<attribute name="Class-Path" value="."/>
</manifest>
<fileset dir="./classes"/>
<zipgroupfileset dir="lib/" includes="*.jar" excludes="META-INF/*.SF" />
</jar>
</target>
、あなたが行うことができます:
これは美しく働きました。私はマクロのことも起こってしまいました....残念ですが、私は両方の答えを「正しい」とマークすることはできません。どちらが最高かを考える必要があります。 –