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

时间:2013-02-11 22:02:14

标签: java command-line jar javac

我编写了一个名为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

4 个答案:

答案 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)

  1. 打开命令提示符
  2. cd转到jar文件存在的路径
  3. 运行命令jar xf fileName.jar
  4. 它会生成com,META-INF& Copyright.mk个文件
  5. 转到您要修改类文件的特定包(基本上是com目录中的类文件)
  6. 从谷歌(其Zip文件)
  7. 下载JAD.exe
  8. 提取您将获得的jad.exe
  9. 的Zip文件
  10. 将类文件(您要修改的文件)放在包含jad.exe
  11. 的文件夹中
  12. 转到命令提示符,运行jad fileName.clas s(您要修改的类文件名)
  13. fileName.jad文件将生成,将其重命名为fileName.java
  14. 编译fileName.java(如果它引用其他类文件,则相应地在eclipse中配置它)
  15. 编译后替换步骤4中定义的目录中的类文件
  16. 转到命令提示符,cd步骤4路径,运行jar cf fileName.jar(*代表所有类文件而不管目录)

答案 3 :(得分:0)

  1. 打开cmd(windows + r type cmd)
  2. simipily type command as a“jar”without quatoes
  3. 它会提供一些选项和用法。
  4. 使用你想要的东西
  5. 用class创建一个jar文件,你要提到jar cfv filename.jar example.class example2.class等..
  6. 如果您使用swing使用javac -deprecation SwingApplication.java编译它,但JDK版本必须大于版本JDK1.1
  7. 运行java SwingApplication
  8. 所有的一切