Tôi đang sử dụng tác vụ Ant từ Jar Jar Links để nhúng các lớp từ tệp jar của bên thứ ba (objenesis) vào tệp jar phân phối của tôi (example.jar). Jar Jar sẽ dịch các lớp từ gói gốc (org.objenesis) sang một trong những lựa chọn của tôi.Loại trừ các thư mục trống với Jar Jar Links
Nó hoạt động nhưng nó để lại các thư mục trống trong bình phân phối.
Đây là một build.xml đơn giản:
<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>
Một ví dụ về nội dung của example.jar bao gồm (như dự kiến):
org/thirdparty/Objenesis.class
org/thirdparty/ObjenesisBase.class
nhưng cũng có các thư mục trống (undesirabl) e):
org/objenesis/
org/objenesis/instantiator/
org/objenesis/instantiator/basic/
Câu hỏi của tôi: làm cách nào để loại trừ các thư mục trống này?
Tôi đã thử tùy chọn "zap" (listed in the doc), nhưng điều đó không hiệu quả.
Điều này có vẻ phù hợp với tôi (tôi phải chuyển sang cú pháp Gradle). –