Vladimir’s answer is a correct one, but I feel that what he suggests implies repacking all jars in a one big out.jar, which is then feeded to Ant Jar task as a single <zipfileset>
or something like that. This two-step approach is unnecessary. I’m not sure whether this is connected with Ant version, but I have Ant 1.7.1, and its <jar>
task understands <zipgroupfileset>
, which allows to feed all contents of third party jars’ directly.
<jar destfile="MyApplication.jar">
<zipgroupfileset dir="lib" includes="*.jar" />
<!-- other options -->
<manifest>
<attribute name="Main-Class" value="Main.MainClass" />
</manifest>
</jar>