I have written a .java file, called Main.java, and have compiled it using the javac in the Windows Command Prompt. The compiler is creating multiple .class files (called Main.class, Main$1.class, & Main$2.class--presumably because I have anonymous inner classes in my Main.java file). I am trying to create a runnable .jar file so I can double click a shortcut to run this application (it is a Java Swing application), but I am unsuccessful when I navigate to the directory of the three class files and type:
jar cfv file.jar Main.class Main$1.class Main$2.class
The Command Prompt then outputs this text:
added manifest
adding: Main.class(in 4871) (out = 2848)(deflated 41%)
adding: Main$1.class(in 1409) (out = 833)(deflated 40%)
adding: Main$2.class(in 1239) (out = 767)(deflated 38%)
Despite this, when I double click on the file.jar file in Windows Explorer, simply put, nothing happens. No swing application opens.
Hopefully someone can help me out with this. Thank you
Best...SL
You need to use the entry-point switch
-e
(with the name of the class containing themain()
method) as such:jar xf fileName.jar
META-INF
&Copyright.mk
filesJAD.exe
from google (Its Zip File)jad.exe
jad.exe
jad fileName.clas
s (the class filename which u want to modify)fileName.jad
file will get generate , rename it asfileName.java
fileName.java
(if its referring to some other class file configure it in eclipse accordingly)jar cf fileName.jar
(* represents all the class files irrespective of directories)Something's gotta tell the java which class should be started automatically. That's the Manifest - see description here You have to package the Manifest.mf in your jar.