Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(JAVA)使用命令提示符从多个.class文件创建.jar文件_Java_Command Line_Jar_Javac - Fatal编程技术网

(JAVA)使用命令提示符从多个.class文件创建.jar文件

(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

我编写了一个名为Main.java的.java文件,并在Windows命令提示符下使用javac对其进行了编译。编译器正在创建多个.class文件(称为Main.class、Main$1.class和Main$2.class——可能是因为我在Main.java文件中有匿名内部类)。我正在尝试创建一个runnable.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文件时,简单地说,什么也没发生。没有打开swing应用程序

希望有人能帮我解决这个问题。多谢各位


最好的…SL

必须告诉java应该自动启动哪个类。 这就是清单-请参见说明
您必须在jar中打包Manifest.mf。

您需要使用入口点开关
-e
(使用包含
main()
方法的类的名称),如下所示:

  • 打开命令提示符
  • cd转到jar文件所在的路径
  • 运行命令
    jarxf fileName.jar
  • 它将生成com、
    META-INF
    &
    Copyright.mk
    文件
  • 转到要修改类文件的特定包(基本上是com目录中的类文件)
  • 从谷歌(其Zip文件)下载
    JAD.exe
  • 解压缩您将获得的Zip文件
    jad.exe
  • 将类文件(您要修改的)放在包含
    jad.exe
  • 转到命令提示符,运行
    jad fileName.clas
    s(要修改的类文件名)
  • fileName.jad
    文件将生成,重命名为
    fileName.java
  • 编译
    fileName.java
    (如果它引用其他类文件,请在eclipse中相应地配置它)
  • 编译后,替换步骤4中定义的目录中的类文件
  • 转到命令提示符,cd步骤4路径,运行
    jar cf fileName.jar
    (*表示所有类文件,不考虑目录)
  • 打开命令(windows+r类型命令)
  • 将命令类似于不带四分音符的“jar”
  • 它将给出一些选项和那些用法
  • 随心所欲
  • 要使用类创建jar文件,请提及jar cfv filename.jar example.class 例2.课堂等
  • 如果您使用swing,请使用javac-deprecation SwingApplication.java编译它,但JDK版本必须大于JDK1.1版本
  • 运行java SwingApplication
  • 祝你一切顺利

  • 在您的例子中:将
    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