Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

(JAVA) Use Command Prompt to create .jar file from multiple .class files

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

like image 266
Skyler Avatar asked Feb 11 '13 22:02

Skyler


People also ask

How do I import a .class file into a jar?

In order to update the jar we need to create a directory structure reflecting the package structure of the class which we need to replace and place the class there. In this case we need to place the class, Foo. class , in the directory com/tm/example .


1 Answers

You need to use the entry-point switch -e (with the name of the class containing the main() method) as such:

jar cfve file.jar Main Main.class Main$1.class Main$2.class
like image 58
Reinstate Monica -- notmaynard Avatar answered Oct 07 '22 23:10

Reinstate Monica -- notmaynard