(JAVA)使用命令提示符从多个.class文件创建.jar文件
我编写了一个名为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
您需要使用入口点开关-e
(带有包含main()
方法的类的名称),如下所示:
jar cfve file.jar Main Main.class Main$1.class Main$2.class
有些东西必须告诉java哪个类应该自动启动。 这是清单 – 请参阅此处的说明您必须在您的jar中打包Manifest.mf。
- 打开命令提示符
- cd转到jar文件存在的路径
- 运行命令
jar xf fileName.jar
- 它将生成com,
META-INF
和Copyright.mk
文件 - 转到您想要修改类文件的特定包(基本上是com目录中的类文件)
- 从谷歌下载
JAD.exe
(其Zip文件) - 提取Zip文件,你将获得
jad.exe
- 将类文件(您要修改)放在包含
jad.exe
的文件夹中 - 转到命令提示符,运行
jad fileName.clas
s(要修改的类文件名) -
fileName.jad
文件将生成,将其重命名为fileName.java
- 编译
fileName.java
(如果它引用其他类文件,则相应地在eclipse中配置它) - 编译后,替换步骤4中定义的目录中的类文件
- 转到命令提示符,cd步骤4路径,运行
jar cf fileName.jar
(*代表所有类文件而不管目录)
- open cmd(windows + r type cmd)
- simipily类型命令为没有quatoes的“jar”
- 它会给出一些选项和用法。
- 用你想要的
- 用class创建一个jar文件你要提到jar cfv filename.jar example.class example2.class等。
- 如果您使用swing使用javac -deprecation SwingApplication.java编译它,但JDK版本必须大于版本JDK1.1
- 运行java SwingApplication
- 祝一切顺利