【发布时间】:2011-12-11 16:24:51
【问题描述】:
我正在使用来自Jar Jar Links 的 Ant 任务将来自第 3 方 jar 文件 (objenesis) 的类嵌入到我的可分发 jar 文件 (example.jar) 中。 Jar Jar 会将原始包 (org.objenesis) 中的类转换为我选择的类。
它可以工作,但它会在可分发的 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”选项 (listed in the doc),但没有奏效。
【问题讨论】: