Jar Jar LinksのAntタスクを使用して、サードパーティのjarファイル(objenesis)のクラスを配布可能なjarファイル(example.jar)に埋め込みます。Jar Jarは、クラスを元のパッケージ(org.objenesis)から私の選択したパッケージの1つに変換します。
動作しますが、配布可能なjarに空のディレクトリが残ります。
簡略化されたbuild.xmlは次のとおりです。
<target name="jar" depends="compile">
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
classpath="lib/jarjar-1.1.jar"/>
<jarjar jarfile="dist/example.jar" excludes="org.objenesis.**">
<fileset dir="build/classes/main"/>
<zipfileset src="lib/objenesis-1.2.jar"/>
<rule pattern="org.objenesis.**" result="org.thirdparty.@1"/>
</jarjar>
</target>
example.jarのコンテンツのサンプルには、(予想どおり)次のものが含まれます。
org/thirdparty/Objenesis.class
org/thirdparty/ObjenesisBase.class
しかし、これらの空のディレクトリ(望ましくない):
org/objenesis/
org/objenesis/instantiator/
org/objenesis/instantiator/basic/
私の質問:これらの空のディレクトリを除外するにはどうすればよいですか?
「zap」オプション(ドキュメントに記載)を試しましたが、うまくいきませんでした。