我正在使用LWJGL开展项目,但我似乎无法运行我的jar。它在我的IDE(netbeans)中运行良好,但jar本身给了我错误。
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.opengl.Display
我已经尝试了很多方法来解决这个错误。我认为这与LWJGL本地人没有正确链接有关。
我通过将其置于VM选项中来链接netbeans中的本机。
-Djava.library.path="C:\Users\Lemonzap\Desktop\Projects\Game Programming\LWJGL -3\native\windows\x64"
该路径是我保留64位Windows LWJGL原生的路径。
我也试过将此行添加到main的开头。
System.setProperty("org.lwjgl.librarypath", new File("lib/natives").getAbsolutePath());
我觉得我需要更改这一行,因为我的lib文件夹中没有natives文件夹。我花了几天时间研究这个问题并尝试其他人没有运气的解决方案。我非常感谢这个问题的一些帮助。
答案 0 :(得分:1)
你的本地人需要在你的罐子里面。当我尝试部署LWJGL项目时,我遇到了很多问题。
我用Jarsplice来做。它需要IDE构建的jar,添加库和本机,并导出到.jar
,.exe
,.app
或.sh
。
答案 1 :(得分:0)
在我的Linux系统上,我遇到了这个错误,因为缺少系统库libXxf86vm.so.1
。这意味着缺少外部库也能够产生此错误。在你的窗户上,你可能需要一个额外的dll。
这些命令为我解决了(在Ubuntu上可靠):
sudo apt-get install libxxf86vm1 fglrx
顺便说一下:java / jni / lwjgl也可能存在包含空格的路径名问题......