Convert Jar To EXE, Executable File Tutorial describes about different tools, used for converting java jar file to windows executable file.
How to convert java program to an java executable?
How to convert jar to exe?
Is it possible to create windows executable from java application?
If you are searching for the above questions, where you need to distribute java application as exe file, then following tools will help you.
Launch4j is a platform independent tool for wrapping Java applications distributed as jars in light-weight native windows executables. The executable can be configured to search for a exact JRE version or use a bundled one, and it's possible to set runtime settings, like the initial/max heap size. The wrapper also provides higher user experience through an application icon, a native pre-JRE splash screen, a custom process name
- Launch4j wraps jars in native windows executables and allows you to run them like a regular Windows program. Launch4j allows you to wrap applications on Windows, Linux, Mac OS X and Solaris!.
- Launch4j allows you to create launchers for jars and class files without wrapping.
- Launch4j Supports executable jars and dynamic classpath resolution using environment variables and wild cards.
- Launch4j Doesn't extract the jar from the executable.
- Launch4j allows custom application icon with multiple resolutions and color depths.
- Launch4j allows native pre-JRE splash screen in BMP format shown until the Java application starts.
- Launch4j allows process name as the executable filename to easily identify your application
- Launch4j works with a bundled JRE or searches for newest Sun or IBM JRE / JDK in given version range.
- Launch4j opens Java download page if an appropriate Java version cannot be found or a support website in case of an error.
- Launch4j supports GUI and console apps.
- Launch4j supports Vista manifests and XP visual style manifests.
- Launch4j passes command line arguments, also supports constant arguments.
- Launch4j allows to set the initial/max heap size also dynamically in percent of free memory.
- JVM options: set system properties, tweak the garbage collection.
- Launch4j reads runtime JVM options from an .l4j.ini file.
- Launch4j allows access to environment variables, registry data and executable file path through system properties.
- Launch4j set environment variables.
- Launch4j allows different option to change current directory to the executable location.
- Launch4j allows the JRE's bin directory is appended to the Path environment variable.
- Launch4j allows custom version information shown by Windows Explorer.
- Launch4j allows GUI and command line interface.
- Launch4j allows build integration through an Ant task and a Maven Plugin.
- Launch4j is very Lightweight: 26 KB!
- Launch4j is free and may be used for commercial purposes.
- Launch4j allows includes a sample application and Ant script that automates the build process from Java sources to native executable.
- Launch4j works on all Windows platforms (98/Me/NT/2K/XP/Vista), Launch4j works on NT/2K/XP/Vista, Linux, Mac OS X (build on 10.4) and Sparc Solaris 8-10.
JSmooth is a Executable Wrapper for java centric applications. JSmooth allows you to create native Windows launchers (standard .exe) for your java centric applications. It makes you java deployment much smoother and user-friendly, because it can able to find any installed Java VM by itself.
3) Excelsior JET
Excelsior JET helps you on the following ways:
- Excelsior Makes your Java applications start and work faster.
- Excelsior will protect your code against Java decompilers.
- Excelsior will deploy your Java products without dependency on the JRE.
install4j is a powerful platform independent java installer that generates native installers and application launchers for Java applications. install4j excels in its ease of use, its extensive platform support and its powerful screen and action system.
exe4j is a Java exe maker that helps you integrate your Java applications into the Windows operating environment, whether they are service, GUI or command line applications. If you want your own process name instead of java.exe in the task manager and a user friendly task-bar grouping in Windows XP, exe4j does the job. exe4j helps you with starting your Java applications in a safe way, displaying native splash screens, detecting or distributing suitable JREs and JDKs, startup error handling and much more.
IzPack is a one-stop solution for packaging, distributing and deploying applications for the Java platform.
A solid project having reached its 10 years landmark, IzPack is an Apache-licensed Codehaus project whose mission is to make it easy for you to build the installers that will keep your users happy just right before they get their hands on your software.
IzPack-generated installers only require a Java virtual machine to run. It is fully cross-platform and generates a single installer. As such, it is an alternative to native solutions like as platform-specific installers and package managers.
JEXECreator makes it easy to create native 32-bit Windows executables (native launchers) for invoking applications written in the Java™ programming language. This simplifies the deployment of software written in Java™ on client or server platforms.
Why to use native EXE for Java application?
- Easily launch Java applications by even the most novice users (customized Java Runtime Environment auto-detection, errors handling).
- Better system integration (GUI or console applications, custom process name).
- JAR files can be included into an executable file.
- Execute Java applications with any current directory.
- Java applications can make use of file type association.
- Java applications are viewed as native Windows programs (and you can create Windows shortcuts for your Java application in the Start menu or on the desktop).
- Use the icon (.ico file) of your choice or design for your executable.
- Fully localizable messages of the executable.
8) exeJ v1.01
exeJ is a command line tool that creates a "batch-like" executable (.exe file) for your java application. The command line used to start your java application is wrapped in the generated executable and the user can simply start the java application with a double-click.
The generated .exe is Windows 95/98/ME/NT/2000/XP compatible.
The target system must have JavaSoft JRE installed.
JarToExe is a platform independent tool for wrapping Java applications distributed as jars in light-weight native windows executables. The executable can be configured to search for a exact JRE version or use a bundled one, and it's possible to set runtime settings, like the initial/max heap size. The wrapper also provides higher user experience through an application icon, a native pre-JRE splash screen, a custom process name.
- JarToExe Can generate "Console", "Windows GUI", "Windows Service" three types of exe files.
- JarToExe generated exe files can add program icons and version information.
- JarToExe generated exe files can encrypt and protect java programs, there is no temporary files will be generated when program runs.
- JarToExe generated exe files provide system tray icon support.
- JarToExe generated exe files provide record system event log support.
- JarToExe generated windows service exe files are able to install/uninstall itself, and support service pause/continue.
- JarToExe have a new release of x64 version, can create 64 bits executives. (May 18, 2008)
- Both the wizard mode and command line mode supported. (May 18, 2008)
What JexePack is: JexePack is a command line wrapper tool (works as a automated scripting) that allows you to package your Java application (class files), optionally along with its resources (such as GIF/JPG/TXT/etc), into a single compressed 32-bit native Windows EXE, which runs using Sun's Java Runtime Environment. Both windowed and console applications are supported..
NativeJ is an powerful independent Java EXE creator. The executable are generated by NativeJ is uniquely customized to launch your Java application under Windows based machines. NativeJ is not a compiler! It have the following benefits:
- It have custom icon. Each exe is uniquely represented by a custom icon, just like native apps.
- It have native behavior. When a user double clicks on the EXE to run your application, there would not be any annoying console window popping up briefly..
- It have faster startup. Executing a batch file contains a great deal of overhead includes, starting the command processor and parsing the batch file. The native EXE loads the JVM directly, resulting in snappier program startup.
- It have native splash screen. It allows you to display a splash screen of your choice immediately upon startup while your application loads.
- It have unique process name. When viewed in the task list, the user sees tomcat.exe, or jedit.exe, instead of the nondescript java.exe, or javaw.exe. It is very important for personal firewall programs, which are depends on unique process names to trigger the appropriate filter rules.
- It will install as service. NativeJ is able to produce executables that can be installed as a Win32 service natively, with the ability to specify dependencies.
If you can write a batch file, you can use NativeJ! Use the project wizard to create a custom executable that works just for your application. No need to write custom JNI code, or wrestle with a C compiler. Just click-and-go! It's that easy!
- Easy to deploy
- No JRE dependency. Most of the end-users don't know what they have installed
- Anymore no problems on how to create an executable file out of a JAR or class file.
- Hard to decompile
- Java can easily be decompiled. Native compilation technique will protect your source code.
- Run fast from the start
- No more overhead for loading a Java Runtime Environment.