各位程序员好!我现在正在编写一款游戏,使用以下库:LWJGL, OpenGL, Slick。我知道在使用这样的库时,简单地从eclipse导出JAR文件会有问题,而且我确实使用了JarSplice程序来生成一个庞大的JAR。这已经工作了大约一个月了,然而,就在最近它停止工作了。每当我从eclipse导出JAR,并使用JarSplice将其变成一个胖JAR时,我都会得到这个错误:
Could not find or load main class Game.jar
META-INF(位于fat JAR中):
Manifest-Version: 1.0
Launcher-VM-Args:
Launcher-Main-Class: cubix.main.Cubix
Main-Class: org.ninjacave.jarsplice.JarSpliceLauncher
请注意,程序的main方法位于cubix.类中,该类位于cubix.main.Cubix'
我以前从来没有遇到过这个错误,它让我发疯了。如果需要其他信息,请随时询问。
编辑:我还可以补充一点,如果我以这种方式导出任何其他项目(使用相同的库并使用jarsplice构建一个庞大的JAR),它会工作得很好。我只在eclipse中的这个特定项目中遇到这个问题。但是,当我在eclipse调试器中运行Cubix时,它运行得很好。
尝试两件事:1检查文件的内容,使用jar -tf查看所有内容。你能试着从命令/终端运行这个文件吗?3 .如果以上都没问题,从终端编译Cubix.java,并将这个.class文件手动放入jar文件中并检查。
很抱歉发了这个。问题不是它找不到主类,而是我输入了错误的命令行。我输入的是"java Cubix.jar -jar"而不是"java -jar Cubix.jar"。此外,在修复命令行之后,它为eclipse忽略的错误提供了堆栈跟踪,并且需要加载的纹理之一是区分大小写的。