How to make an executable JAR file
In this tutorial, you will learn how to create a JAR and make it executable by double clicks on it.
1. AWT Example
Create a simple AWT Java application, just display label and print out some funny characters ~
package com.mkyong.awt; import java.awt.Frame; import java.awt.Label; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class AwtExample { public static void main(String[] args) { Frame f = new Frame(); f.addWindowListener (new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } } ); f.add(new Label("This JAR file is executable!")); f.setSize(500,500); f.setVisible(true); } }
2. Manifest.txt
Create a manifest.txt text file. Main-Class defines the entry point of this Jar file, when you double clicks on this Jar file, “AwtExample.class” main() method will launch.
Manifest.txt file
This is only contains one statement and end with a new line character (double clicks at the end of the statement to create a new line).
Main-Class: com.mkyong.awt.AwtExample
Caution : Be sure that your manifest file ends with a new line, else your manifest file content will not be parsed and append to the system generated manifest.mf.
You can read the manifest.mf reference here, look for the following statement.
Be sure that any pre-existing manifest file that you use ends with a new line. The last line of a manifest file will not be parsed if it doesn’t end with a new line character.
3. Jar file
Create a Jar file by adding “AwtExample.class” and “manifest.txt” files.
Assume your project folder structure as following :
c:\test\classes\com\mkyong\awt\AwtExample.class c:\test\classes\manifest.txt
Issue this command to create a “AwtExample.jar” file.
jar -cvfm AwtExample.jar manifest.txt com/mkyong/awt/*.class
Output
C:\test\classes>jar -cvfm AwtExample.jar manifest.txt com/mkyong/awt/*.class added manifest adding: com/mkyong/awt/AwtExample$1.class(in = 638) (out= 388)(deflated 39%) adding: com/mkyong/awt/AwtExample.class(in = 880) (out= 541)(deflated 38%)
4. Click it
Your “AwtExample.jar” is executable now, double clicks on it, see output :
- Java Core Technology - Java RegEx, Java XML, Java I/O, Java Misc
- J2EE Frameworks - Hibernate, Spring 2.5, Spring MVC, Struts 1.x, Struts 2.x
- Build Tools - Maven, Archiva
- Unit Test - jUnit, TestNG
- Client Scripts - jQuery