【问题标题】:(JAVA) Use Command Prompt to create .jar file from multiple .class files(JAVA) 使用命令提示符从多个 .class 文件创建 .jar 文件
【发布时间】:2013-01-27 02:52:34
【问题描述】:

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

【问题讨论】:

标签: java command-line jar javac


【解决方案1】:

您需要像这样使用入口点开关-e(类名包含main() 方法):

jar cfve file.jar Main Main.class Main$1.class Main$2.class

【讨论】:

  • 谢谢iamnotmaynard,这行得通。一旦本网站允许我...
  • 如果java程序有更多的依赖jar文件。如何在命令提示符下表示 lib 路径。
【解决方案2】:

必须告诉 java 应该自动启动哪个类。 这就是清单 - 见描述here 您必须将 Manifest.mf 打包到您的 jar 中。

【讨论】:

  • 在您的情况下:将 Main-Class: Main 添加到文件 Manifest.txt 和 jar cfv file.jar Manifest.txt Main.class Main$1.class Main$2.class
【解决方案3】:
  1. 打开命令提示符
  2. cd 进入jar文件所在路径
  3. 运行命令jar xf fileName.jar
  4. 它将生成 com、META-INF & Copyright.mk 文件
  5. 转到您要修改类文件的特定包(基本上是 com 目录中的类文件)
  6. 从 google 下载 JAD.exe(其 Zip 文件)
  7. 解压你会得到jad.exe的Zip文件
  8. 将类文件(您要修改的)放在包含jad.exe 的文件夹中
  9. 进入命令提示符,运行jad fileName.class(你要修改的类文件名)
  10. fileName.jad 文件将生成,将其重命名为 fileName.java
  11. 编译fileName.java(如果它引用了其他一些类文件,请在eclipse中相应地配置它)
  12. 编译后替换步骤 4 中定义的目录中的类文件
  13. 进入命令提示符,cd Step 4 path,运行jar cf fileName.jar(*代表所有类文件,不分目录)

【讨论】:

    【解决方案4】:
    1. 打开cmd(windows+r输入cmd)
    2. 将命令简单地键入为没有 quatoes 的“jar”
    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. 一切顺利

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多