问题
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
回答1:
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
回答2:
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.
回答3:
- Open Command Prompt
- cd go to the path where jar file exist
- run command
jar xf fileName.jar
- It will generate com,
META-INF
&Copyright.mk
files - Go to the particular package where u want to modify the class file (Basically class files present in com directory)
- Download the
JAD.exe
from google (Its Zip File) - Extract the Zip file you will get
jad.exe
- Place the class file (which u want to modify) in the folder, that contains
jad.exe
- Go to command prompt, run
jad fileName.clas
s (the class filename which u want to modify) fileName.jad
file will get generate , rename it asfileName.java
- compile the
fileName.java
(if its referring to some other class file configure it in eclipse accordingly) - once compiled replace the class file in the directory defined in step 4
- Go to command prompt, cd Step 4 path, run
jar cf fileName.jar
(* represents all the class files irrespective of directories)
回答4:
- open cmd (windows+r type cmd)
- simipily type command as a "jar" without quatoes
- it will give some options and those usage.
- use what you want
- to create a jar file with class you to mention jar cfv filename.jar example.class example2.class etc..
- IF your using swing compile it with javac -deprecation SwingApplication.java but JDK version must be greater than version JDK1.1
- run java SwingApplication
- ALL THE BEst
来源:https://stackoverflow.com/questions/14821715/java-use-command-prompt-to-create-jar-file-from-multiple-class-files