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. 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. Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executables. If you write modular code in Java 9 java-packager uses jlink to only include the parts of the VM your app needs. It builds native executables self-contained applications with the VM included. Launch4j (java/launch4j) Add to my watchlist 0 Cross-platform Java executable wrapper These days it is best to use java-packager, it is a tool that was added to the JDK in Java 8.