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 Linux!
- 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.
- 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.
- 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...
- Option to change current directory to the executable location.
- 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 FC2).