带有LWJGL的java.lang.NoClassDefFoundError

时间:2013-11-18 09:25:46

标签: java lwjgl noclassdeffounderror

所以,我担心我必须加入聚集在这里的人群并问:“我的代码出了什么问题?”

我最近开始使用Java进行编码,直到我尝试在项目中使用lwjgl时才发现此错误。所以,问题是:当我得到以下内容时,我的JAR出了什么问题:

java -cp \lib\win32\lwjgl.jar -jar Valor.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/lwjgl/opengl/Display
    at bin.Disp.createWindow(Disp.java:18)
    at bin.Thread.gameLoop(Thread.java:13)
    at Main.main(Main.java:4)
Caused by: java.lang.ClassNotFoundException: org.lwjgl.opengl.Display
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

原样,我对此非常困惑。我已经在这里发了七八篇关于这个问题的帖子,在其他网站上又看了五六个帖子,但这些人使用的方法似乎都不适合我。

目前,我的文件结构是:

Valor
  -Valor.jar
  lib
    win32
      -lwjgl.jar
      -lwjgl.dll

清单:

Manifest-Version: 1.0
Main-Class: Main

我确实尝试在这里定义一个类路径......没有用。所以,我真的很困惑,我可能会得到。谢谢你的帮助。

编辑:在Eclipse中运行时不会发生此错误,只有在我导出并尝试自己运行时才会发生。

3 个答案:

答案 0 :(得分:0)

使用此链接安装ljgl并定义您的classPath:http://www.lwjgl.org/wiki/index.php?title=Setting_Up_LWJGL_with_Eclipse

答案 1 :(得分:0)

尝试像这样运行:

java -cp lib\win32\lwjgl.jar;Valor.jar Main

问题是在使用-cp时会忽略-jar选项。

或者,您可以通过在清单中添加Class-Path:条目并在其中放置lib\win32\lwjgl.jar来扩展类路径。

Class-Path: lib\win32\lwjgl.jar

答案 2 :(得分:0)

通过运行java -cp \lib\win32\lwjgl.jar -jar Valor.jar,您告诉Java在文件系统的根目录附近查找LWJGL类路径。查看目录结构,使用:

java -cp .\lib\win32\lwjgl.jar -jar Valor.jar

注意开头的.