If you have signed JAR files or JAR files that create a digest, please apply the $JDK_HOME/bin/pack200 executable in your build process like
pack200 --repack my.jarbefore signing the JAR files. Pack200 rearranges JAR files but the reordering is idempotent, so this pack/unpack sequence creates a stable JAR file.
Pack200 compression can be quite slow, Pack200 decompression is relatively fast. Pack200 compression is only used for installers and not for archives.
To avoid problems with external JAR files, you can check the "Exclude signed JARs or JARs creating digests" option. If you would like to exclude selected JAR files only, you can place an empty *.nopack file next to it. For example, if the jar file is named app.jar, then a file app.jar.nopack in the same directory will disable Pack200 compression for that file.
To pass options to the packer, create a file *.packoptions next to the file and add one option per line. Currently, only -P and --pass-file are supported.
ClassNotFoundException
s at
runtime. In this case, please disable runtime shrinking.
Note that if you have configured merged projects, and one of the projects in the project tree has disabled runtime shrinking, then runtime shrinking will be disabled for the main project as well.