【问题标题】:Can't find or load main class JarSplice无法找到或加载主类 JarSplice
【发布时间】:2013-06-15 22:31:24
【问题描述】:

各位程序员大家好!我现在正在编写一个游戏,它使用以下库:LWJGL、OpenGL、Slick。我知道在使用这样的库时简单地从 Eclipse 导出 JAR 文件的问题,我确实使用 JarSplice 程序来制作一个胖 JAR。这已经正常工作了大约一个月,但是,就在最近它停止工作了。每当我从 Eclipse 导出 JAR 并使用 JarSplice 将其变成胖 JAR 时,我都会收到此错误:

Could not find or load main class Game.jar

META-INF(位于胖 JAR 中):

Manifest-Version: 1.0
Launcher-VM-Args: 
Launcher-Main-Class: cubix.main.Cubix
Main-Class: org.ninjacave.jarsplice.JarSpliceLauncher

请注意程序的main方法位于Cubix.class中,该类位于cubix.main.Cubix'中

我以前从未遇到过这个错误,这让我发疯了。如果需要任何其他信息,请随时询问。

编辑: 我还可以补充一点,如果我以这种方式导出任何其他项目(使用相同的库并使用 jarsplice 构建一个胖 JAR),它就可以正常工作。我只在eclipse中遇到这个特定项目的这个问题。但是,当我在 Eclipse 调试器中运行 Cubix 时,它运行得很好。

【问题讨论】:

    标签: java class path main


    【解决方案1】:

    尝试几件事:1 检查文件的内容,使用 jar -tf 查看所有内容2。如果以上一切都很好,你可以尝试从 command/terminal.3 运行这个文件吗?从终端编译 Cubix.java 并将这个 .class 文件手动放入 jar 文件中并检查。

    【讨论】:

    • 第三个和第二个选项的试用仍然给了我同样的错误。在第一个选项中,“使用 jar -tf”是什么意思?
    • 您可以尝试从终端运行 Cubix.class(java Cubix) 并从终端运行 jar -tf jatFileName.jar 并将输出粘贴到此处吗?
    • 我尝试从终端运行 Cubix.class 但没有成功。当我运行“jar -tf Game.jar”(或者至少我认为这就是你的意思)时,它说“jar”不被识别为内部或外部命令。也许我做的不对?
    • 你怎么可能无法运行 java Cubix ?你能设置路径变量吗,一旦设置 jar 命令就会被识别。
    【解决方案2】:

    我很抱歉发布这个。问题不在于它找不到主类,而是我输入了错误的命令行。我输入:“java Cubix.jar -jar”而不是“java -jar Cubix.jar”。此外,在修复命令行后,它为我提供了 eclipse 忽略的错误的堆栈跟踪,并且需要加载的纹理之一是区分大小写的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-05
      • 2015-02-06
      • 2018-10-10
      • 2014-09-15
      • 2015-09-10
      • 2015-08-22
      相关资源
      最近更新 更多