के साथ खाली निर्देशिकाएं बहिष्कृत करें मैं अपने वितरण योग्य जार फ़ाइल (example.jar) में किसी तृतीय-पक्ष जार फ़ाइल (objenesis) से कक्षाओं को एम्बेड करने के लिए Jar Jar Links से एक चींटी कार्य का उपयोग कर रहा हूं। जार जार मूल पैकेज (org.objenesis) से कक्षाओं का चयन मेरे चयन में से एक में करेगा।जार जार लिंक
यह काम करता है लेकिन यह वितरित जार में खाली निर्देशिका छोड़ देता है।
<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="[email protected]"/>
</jarjar>
</target>
example.jar की सामग्री का एक नमूना भी शामिल है (उम्मीद के रूप में):
org/thirdparty/Objenesis.class
org/thirdparty/ObjenesisBase.class
यहाँ एक सरलीकृत build.xml है
लेकिन इन खाली निर्देशिकाओं (undesirabl भी ई):
org/objenesis/
org/objenesis/instantiator/
org/objenesis/instantiator/basic/
मेरा प्रश्न: मैं इन खाली निर्देशिकाओं को कैसे बाहर निकालना है?
मैंने "ज़ैप" विकल्प (listed in the doc) की कोशिश की, लेकिन यह काम नहीं किया।
यह मेरे लिए काम करना प्रतीत होता था (मुझे ग्रैडल सिंटैक्स में कनवर्ट करना पड़ा)। –