I ran across the Launch4j project while create a swing desktop application. I had used Netbeans to develop the app, but there were some configuration files outside of the app then needed to included in the classpath for it to work.
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. Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executable files. In this post, we will learn making such an executable file for a demo java application. Step1) Create a java application I am creating a very basic java class which simply displays a frame and some text on it. Step 2: Download Launch4J. Launch4J is so far the best wrapper available for converting JAR files to windows executable. It is written in JAVA and is open source. Running launch4j Run launch4j.exe or launch4j script without command line arguments to enter the GUI mode. Launch4j.exe To wrap a jar in console mode use launch4jc.exe and specify the configuration file. Creating exe files for Java Apps using Launch4j I ran across the Launch4j project while create a swing desktop application. I had used Netbeans to develop the app, but there were some configuration files outside of the app then needed to included in the classpath for it to work.
One option was to use a Windows batch file to launch the script. This didn’t seem to be the most elegant solution, so I did some research, and found Launch4j.
To get started, download the Launch4j at http://launch4j.sourceforge.net/
I just downloaded the zip file and extracted it under c:program file.
When you run it, you’ll be greeted with this screen.
Java Launch4j Example
It may look a bit overwhelming, but it’s really pretty simple.
The first thing I like to do is select my jar file for my project.
From there, copy and paste the text in Jar to the Output file section, but change the extension to .exe
I usually include an icon as well.
The next step is to include classpath. Make sure the Custom classpath checkbox is selected, the browse for the jar file for you app under main class.
Java Launch4j Download
Notice that in the classpath section there is a jar file for the Apache commons project. The simple app I’m using for this demo includes this jar, so it’s automatically include in the classpath.
You can also add other items to the classpath, such as configuration directory, by typing it into the Edit item portion and choosing accept.
You can also set the required Java version
That’s the basics,. although there are a bunch of other useful options as well. At the point, click the save icon, and it will save your configuration as XML file. Then click the gear icon, and it will generate your .exe file.
Java is the best programming language available today that works across different platforms. I love Java and JavaFX. Once you finish writing your application, you may want to release it. The problem is, the native Java program executable, the good old .jar files always have a cup icon and sometimes a simple double click wont open them. The solution to this problem is to convert JARs to native executable, for windows .exe files.
Java Launch4j Tutorial
In this article, I will explain how to make windows executable (.exe) from your Java / JavaFX program. Having exe file for windows has many advantages. We can set icons, properties, version information etc.
Step 1 : Make JAR file for your application
The first step is making a JAR file from your java code. This is pretty simple if you are using an IDE like NetBeans.
NetBeans : NetBeans provide option for making JAR file very easily. Just right click on your project from Projects window and then select “clean and build”. This will create a folder called “dist” in your project directory. Inside dist, there will be the final JAR. All the libraries required for running the program will be inside “/dist/lib” directory.
Maven : Maven uses convention over configuration, this means that you only need to tell Maven the things that are different from the defaults. You can use “mvn package” command to create JAR files.
Step 2 : Download Launch4J
Launch4J is so far the best wrapper available for converting JAR files to windows executable. It is written in JAVA and is open source. Download latest version of Launch4J from http://launch4j.sourceforge.net/. Once You install and open it, you will get the following screen.
On the first look, the interface may look little confusing, but it is actually simple and every field will become too important once you get used to it.
Step 3 : Launch4J Basic Configurations
This tab contains the most basic configurations for the exe like jar file to be converted and the icon to be used.
Basic
- Output File
This is the location where the compiled EXE (executable) file will be created once the conversion is complete - Jar
Location of the Jar file to be converted in to executable - Wrapper manifest
You can specify manifest file here. This will be used for processing the application against User Account Control(UAC) in windows. - Icon
Here you can specify the icon. It has to be in ico format. - Change dir
Change current directory to an arbitrary path relative to the executable. If you omit this property or leave it blank it will have no effect. Setting it to . will change the current dir to the same directory as the executable. .. will change it to the parent directory, and so on. - Command line args
Here you can specify the java arguments
In case if the system doesn’t have supported Java, the error message and URL to download can be specifed under the Java Download and Support Sections.
Classpath
Here you can specify classpath for your main class. Select the JAR file by selecting the directory icon from right and the default classpath corresponding to main class will be loaded. You can edut them from Edit Item text field.
You can also add or remove classpath for given main class from this section.
Single Instance
Here you can specify whether you need only once instance of the application running at a time. Give a mutext name and window title if single instance option needed.
JRE
This section allows configuring JRE. If you are bundling JRE with your product (Which is not a good idea at all), you can specify the path here. You can check the ‘Fallback option’ so that the bundled JRE will only be used when the JRE isntalled on the system does not matches with min and max version requirement.
Min JRE Version is a mandatory field and it has to be specified.You can also specify Heap parameters or any JVM options in the corresponding fields.
Splash
If you need a custom splash screen, you can check the “Enable Splash Screen option”. Then specify the file (Either bitmap image or JAR file). In the TimeOut field, time out can be specified.
Version Info
This is a good way to properly specify version information for your executable. This entries will then be shown in the properties section of executable.
Messages
Messages section allows to create custom messages when errors occur. You can enable this option by checking “Add custom messages”.
Step 4 : Compile and Make Executable
Once the entries are filled, you have to save the configuration. For saving, click on the Floppy DIsk icon from the menu. Your configuration entries will be saved as an xml file called config.xml. After saving click on the Setting like icon next to save button to start converting to executable file.
If it the wrapping was a success, you should see the following messages in Log
You can start your program from executable by clicking on the Play button from menu.
Launch4j Java 14
Watch video tutorial from Genuine Coder YouTube channel :-