Java -jar错误:无法找到或加载主类

时间:2015-11-04 18:29:33

标签: java runtime classloader executable-jar

我正在制作一个2D游戏,我已编译成.jar来测试它是否有效。 使用java -jar命令运行jar文件时,出现以下错误:

Error: Could not find or load main class com.grizeldi.splatoon.Main

我知道StackOveflow上有很多解决方案,但我尝试更新java,搞乱了-cp ......到目前为止没有任何工作。

代码:github repo

帮助任何人?

EDIT1:我的代码在USB记忆棒上,但我已经尝试将其移至C:和D:但没有任何效果。 EDIT2:我在github上添加了.jar。

1 个答案:

答案 0 :(得分:1)

一种方法是使用类路径将Manifest更新为其他jar:

Class-Path: lib.jar

另一种方法是将主jar所依赖的jar的内容添加到主jar中,因此您只有一个jar文件。确保你没有将罐子本身添加到主罐子里,因为嵌套的罐子不起作用。

在处理本机库(.so.dll)时,只需将它们放在与jar相同的目录中即可。这样做的缺点是你有多个文件。 在这种情况下,最简单的方法是添加启动脚本(.sh.bat),指定类路径和Main的类名,以及-Djava.library.path

还有另一种方法:在运行时从jar中提取本机库,将其保存到临时位置,然后显式加载。有关详细信息,请参阅here