Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executables. The executable can be configured to search for a certain JRE version or use a bundled one, and it's possible to set runtime options, like the initial/max heap size. The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, a custom process name, and a Java download page in case the appropriate JRE cannot be found.
* Launch4j wraps jars in Windows native executables and allows to run them like a regular Windows program. It's possible to wrap applications on Windows, Linux, Mac OS X and Solaris!
* Also creates launchers for jars and class files without wrapping.
* Supports executable jars and dynamic classpath resolution using environment variables and wildcards.
* Doesn't extract the jar from the executable.
* Custom application icon with multiple resolutions and color depths.
* Native pre-JRE splash screen in BMP format shown until the Java application starts.
* Process name as the executable filename to easily identify your application and initial priority.
* Works with a bundled JRE or searches for newest JRE / SDK in given range.
* Opens Java download page if an appropriate Java version cannot be found or a support website in case of an error.
* Supports GUI and console apps.
* Passes command line arguments, also supports constant arguments.
* Allows to set the initial/max heap size.
* JVM options: set system properties, tweak the garbage collection...
* Runtime JVM options from an .ini file.
* Runtime command line switches to change the compiled options.
* Access to environment variables, the registry and executable file path through system properties.
* Set environment variables.
* Option to change current directory to the executable location.
* The JRE's bin directory is appended to the Path environment variable.
* Custom version information shown by Windows Explorer.
* GUI and command line interface.
* Build integration through an Ant task.
* Lightweight: 21 KB!
* It's free and may be used for commercial purposes.
* Includes a sample application and Ant script that automates the build process from Java sources to native executable.
* The wrapped program works on all Windows platforms (98/Me/NT/2K/Xp), Launch4j works on NT/2K/Xp, Linux (developed and tested on SUSE 9.3, CentOS 4.1), Mac OS X (build on 10.4) and Sparc Solaris 8-10.
This program is free software licensed under the GPL license, the head subproject (the code which is attached to the wrapped jars) is licensed under the LGPL license.
Launch4j may be used for wrapping closed source, commercial applications.
Changes in version 3.0.0-pre2 (29-10-2006)
* Enhanced GUI.
* Redesigned error reporting.
* Added custom error messages.
* Added support website feature.
* Added PWD and OLDPWD special variables and access to the registry.
* Runtime ini file extension changed to .l4j.ini, added comments (#).
* FR #1427811 Initial process priority.
* FR #1547339 Added VarFileInfo structure to Version Info (Stephan Laertz).
* FR #1584295 Updated documentation for --l4j-debug.
* Fixed <jarArgs/> and <args/> config conversion bug (found by Dafe Simonek).
* Fixed the Ant task exception reporting bug, added tmpdir and bindir attributes.
* Fixed bug #1563415 Problem with launching application when ini file exists (found by mojomax).
* Fixed bug #1527619 Console header wildcard expansion (found by erikjv).
* Fixed bug #1544167 NPE when dontwrap and only classpath given (found by Hendrik Schreiber).
* Fixed bug #1584264 Dropdown boxes get mixed up (found by Larsen).