Adam Bien's Weblog
How to reduce the Jar-File size with Java5 and 6
Java SE 5 and 6 comes already with a packing tool called "pack200". This tool is able to compress already existing jar files which can be then used for network distribution. I compressed the rt.jar with the following command:
C:\Programme\Java\jdk1.6.0\jre\lib>pack200 -J-Xmx256m rt.jar.gz rt.jar
The flag -J-X.. is needed, because otherwise OutOfMemory exception can occur (pack200 is written in Java...)
The results are amazing:
Origin size: 43.8 MB
Compressed size: 5.81 MB
For unpacking the tool "unpack200" can be used.
The tool pack200 is especially interesting for the distribution of WebStart applications to achieve faster download times. There is already one another well known sample - glassfish. In the second installation stage, glassfish unpacks internal libraries using the unpack200 tool...
Posted at 11:08AM Dec 28, 2006 by Adam Bien in Java / JEE / Architecture | Kommentare[2]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices


Actually, the JRE unpacks rt.jar form pack200 at install time. Also note that WebStart applications compressed with pack200 should (Sun says must) be deployed with a specific servlet to deliver the packed (or not) JAR files.
Gesendet von Romain Guy am December 29, 2006 at 03:59 AM CET #
Though the actual average compression rate would be at about 50%. I don't know how you managed to get from 41 MB to 5 MB.
Gesendet von CeciNEstPasUnProgrammeur am May 20, 2010 at 01:38 PM CEST #