【问题标题】:Creating JAR file and using in command prompt?创建 JAR 文件并在命令提示符下使用?
【发布时间】:2014-02-22 16:24:22
【问题描述】:

好的,我已经按照 Java 教程创建了 JAR 文件,甚至创建了随附的 Manifest.txt。我很困惑,我到了在命令提示符下运行 JAR 的地步,但它并不是指我在主程序中使用的另一个类。

我有两个正在使用的 .class 文件,javagame.classsound.class

它终于加载了主类,但是当它需要引用 sound.class 文件时,它说它不存在,NoClassDefFoundError

然后我在 cmd 提示符下执行了 'jar cfm myjar.jar Manifest.txt javagame.class sound.class'

jar cfe app.jar javagame javagame.class

最后我用java -jar app.jar 来运行JAR,我得到了上面找不到sound.class 文件的错误。

有人请帮助我很困惑。

【问题讨论】:

  • 可能这两个classes 不在同一个位置(或文件夹)。看看我的回答……就简单多了。
  • 更好地展示您的 Manifest.txt 文件。
  • 你确定你的主类(javagame.java)实际上有一个public static void main(String args[]) 方法吗?它必须有一个,否则它将无法工作。

标签: java jar cmd


【解决方案1】:

考虑 .java 和 .class 文件的目录结构:

HelloWorld(root directory)
   |
   |\src\HelloWorld.java
   |
   |\classes\mypackage\HelloWorld.class

HelloWorld.java 看起来像

package mypackage;

public class HelloWorld {

    public static void main(String[] args){
       System.out.println("Hello World");
    }
}

要编译并获取 classes 文件夹中的类文件,请使用 javac 中的 -d 选项 喜欢:

F:\HelloWorld\src>javac -d ../classes HelloWorld.java

要添加所有可以使用 *.java 的 .java 文件

要创建 HelloWorld 的可执行 jar,请从 classes 目录执行以下命令:

F:\HelloWorld\classes>jar cfe HelloWorld.jar mypackage.HelloWorld mypackage/HelloWorld.class

在 jar 命令之后,选项 cfe 表示:

  1. c:表示要创建JAR文件。
  2. f:表示您希望输出到文件而不是标准输出。
  3. e:覆盖清单的 Main-Class 属性。

最后,要运行生成的 jar 文件,请执行以下命令:

F:\HelloWorld\classes>java -jar HelloWorld.jar

输出:HelloWorld

假设,如果你想指定你自己的 manifest.mf 文件,那么去

jar cfm MyJar.jar Manifest.txt mypackage/*.class

【讨论】:

    【解决方案2】:

    这是完全关闭你要求的,但它简单得多。 我将演示如何使用BlueJ 创建一个JAR 文件。

    1. 打开 BlueJ 和包含所有代码的项目。 (你可以 import non-bluej : 转到 ProjectsOpen Non-BlueJ 然后选择 包含您的代码的文件夹。)

    2. 转到 Project 并选择 Create Jar File...。选择您的主类(这里,我是NumberSystems.java)。其余的你可以自定义...

    3. 保存您的文件...

    你已经完成了!就如此容易。您现在可以从cmd 执行此操作。

    【讨论】:

      猜你喜欢
      • 2015-08-25
      • 2013-01-27
      • 2011-08-12
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-12
      相关资源
      最近更新 更多