How to combine two Jar files

Tony picture Tony · Feb 22, 2011 · Viewed 50.1k times · Source

Is it possible to combine two jar files such that in an applet tag I can simply do something like

archive="jarjar.jar/jar1.jar"...  ...archive="jarjar.jar/jar2.jar"... instead of
archive="jar1.jar"... ...archive="jar2.jar"...

I need to only have one jar file so putting two jar files in a folder will not help me.

Answer

Alnitak picture Alnitak · Feb 22, 2011

Sure, just extract the two jar files and recreate a new one

$ mkdir tmp
$ (cd tmp; unzip -uo ../jar1.jar)
$ (cd tmp; unzip -uo ../jar2.jar)
$ jar -cvf combined.jar -C tmp .

The stuff with tmp ensures that the two existing jars are extracted into a clean directory and then the new one made from that.

Be aware that you may also need to merge any manifest.mf files contained therein, and if there are any also include the '-m' option in that file command.