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.jar
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.
i4jruntime.jar
that contains the support classes for the installer
and the API will be shrunk, meaning that all unused classed will be removed. Usages from custom code and
classes in generated launchers are considered during the shrinking process. If you have Java code in
external launchers that uses the API, then shrinking might lead to 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.
common_files.dat
will be created in the media output directory during the
compilation that holds the data files that can be used by all media files. This only works for
installation components that have the same content for different media files.