【问题标题】:Error running .jar on a Mac在 Mac 上运行 .jar 时出错
【发布时间】:2015-12-30 23:04:29
【问题描述】:

我有 2 个文件,Project.jar 和 JavaFile.java,保存在名为 Project 的文件夹中。我使用 Mac 的终端成功编译了它们,如下所示:

 javac -cp Project.jar JavaFile.java

但是,在尝试运行应该接收 2 个参数的程序后,使用

 java -cp Project.jar JavaFile argument1 argument2

我收到以下错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: JavaFile
Caused by: java.lang.ClassNotFoundException: JavaFile
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我对 Java 很陌生,如果能提供任何帮助,我们将不胜感激。

谢谢!

【问题讨论】:

  • 您是否已经尝试过使用“Project.jar”?
  • 我不相信这就是你正在运行的。请提供重现此行为的完整示例。
  • 忽略我下面的回答,让我们再尝试一件事;您是否也尝试将当前目录添加到类路径? IE。 java -cp .:Program.jar JavaFile arg1 arg2 ?
  • @kwoxer 抱歉,不确定您的意思?
  • @SotiriosDelimanolis 我又试了一次,得到的信息略有不同,请参阅上面的原始帖子。

标签: java macos jar terminal noclassdeffounderror


【解决方案1】:

好的,所以我想通了...我需要使用冒号来分隔元素:

javac -cp "Project.jar:" JavaFile.java

java -cp "Project.jar:" JavaFile

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2018-01-25
    • 2011-09-16
    • 2020-01-13
    • 2021-10-31
    • 2015-05-02
    相关资源
    最近更新 更多