(JAVA)使用命令提示符从多个.class文件创建.jar文件
我编写了一个名为Main.java的.java文件,并在Windows命令提示符下使用javac对其进行了编译。编译器正在创建多个.class文件(称为Main.class、Main$1.class和Main$2.class——可能是因为我在Main.java文件中有匿名内部类)。我正在尝试创建一个runnable.jar文件,以便双击一个快捷方式来运行此应用程序(它是Java Swing应用程序),但当我导航到三个类文件的目录并键入以下内容时,我失败了:(JAVA)使用命令提示符从多个.class文件创建.jar文件,java,command-line,jar,javac,Java,Command Line,Jar,Javac,我编写了一个名为Main.java的.java文件,并在Windows命令提示符下使用javac对其进行了编译。编译器正在创建多个.class文件(称为Main.class、Main$1.class和Main$2.class——可能是因为我在Main.java文件中有匿名内部类)。我正在尝试创建一个runnable.jar文件,以便双击一个快捷方式来运行此应用程序(它是Java Swing应用程序),但当我导航到三个类文件的目录并键入以下内容时,我失败了: jar cfv file.jar Ma
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文件时,简单地说,什么也没发生。没有打开swing应用程序
希望有人能帮我解决这个问题。多谢各位
最好的…SL必须告诉java应该自动启动哪个类。 这就是清单-请参见说明
您必须在jar中打包Manifest.mf。您需要使用入口点开关
-e
(使用包含main()
方法的类的名称),如下所示:
jarxf 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
(*表示所有类文件,不考虑目录)在您的例子中:将
Main Class:Main
添加到Manifest.txt文件和jar cfv file.jar Manifest.txt Main.Class Main$1.Class Main$2.Class
查看回答您问题的这个问题。在这方面有很多问题。谢谢你,我不是梅纳德,这成功了。一旦这个网站允许我…如果java程序有更多依赖jar文件,我会接受这个正确的回答。如何在命令提示下表示库路径。
jar cfve file.jar Main Main.class Main$1.class Main$2.class