我编写了一个名为Main.java的.java文件,并使用Windows命令提示符中的javac编译它。编译器正在创建多个.class文件(称为Main.class,Main $ 1.class,& Main $ 2.class - 可能是因为我在Main.java文件中有匿名内部类)。我正在尝试创建一个可运行的.jar文件,所以我可以双击一个快捷方式来运行这个应用程序(它是一个Java Swing应用程序),但是当我导航到三个类文件的目录并输入时,我不成功:
jar cfv file.jar Main.class Main$1.class Main$2.class
命令提示符然后输出以下文本:
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%)
尽管如此,当我在Windows资源管理器中双击file.jar文件时,简单地说,没有任何反应。没有挥杆申请。
希望有人可以帮我解决这个问题。谢谢
...最佳SL
答案 0 :(得分:14)
您需要使用入口点开关-e
(包含main()
方法的类的名称):
jar cfve file.jar Main Main.class Main$1.class Main$2.class
答案 1 :(得分:5)
有些东西必须告诉java哪个类应该自动启动。 那就是清单 - 见说明here 你必须在你的jar中打包Manifest.mf。
答案 2 :(得分:0)
jar xf fileName.jar
META-INF
& Copyright.mk
个文件JAD.exe
jad.exe
jad.exe
jad fileName.clas
s(您要修改的类文件名)fileName.jad
文件将生成,将其重命名为fileName.java
fileName.java
(如果它引用其他类文件,则相应地在eclipse中配置它)jar cf fileName.jar
(*代表所有类文件而不管目录)答案 3 :(得分:0)