【发布时间】:2019-05-28 19:09:24
【问题描述】:
我对 Java 比较陌生,我制作了一个使用 LWJGL 3 的脚本。该程序在 Eclipse IDE 中运行得非常好,但是当我尝试将它导出为可运行的 Jar 文件时(我检查了 package required libraries 字段) 然后尝试通过 windows 命令行运行它,我收到如下错误消息:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.lang.NoClassDefFoundError: org/lwjgl/glfw/GLFW
at renderEngine.TestEngine.main(TestEngine.java:18)
... 5 more
Caused by: java.lang.ClassNotFoundException: org.lwjgl.glfw.GLFW
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 6 more
我假设这是由于无法访问我导入的库导致的问题,但在网上搜索了一段时间后,我找不到一个正确的指导答案来解决这个问题。大多数时候是有人提出问题,然后只是说他们自己解决了问题,或者其他人解释了问题,但实际上并没有帮助解决问题。我希望有人可以帮助我指导说明如何解决此问题,以及是否可以对其进行解释以避免将来出现问题。
如果需要更多信息来帮助解决问题,我很乐意提供。
更新: 似乎问题在于 GLFW 而不是整个图书馆。在重新阅读错误时,唯一无法找到或加载的是 GLFW,当我还使用来自同一库(如 OpenGL)的其他导入时。此外,它指定的行是我从 GLFW 调用函数的行,而不是在我导入包时调用的行,不知道这是因为导入不成功时不会调用错误还是可能存在其他问题在包本身内。 我不知道我是否正确,只是想通过提供更多信息来提供帮助。
谢谢,奥利弗 :)
【问题讨论】:
-
在将程序导出为可运行的jar文件时有什么问题吗?
-
不,我在导出过程中没有遇到任何问题。尝试使用以下命令通过 Windows 命令行运行文件时出现问题:
java -jar FileName.jar。上面原帖中显示的错误是我输入命令后收到的错误。
标签: java build jar lwjgl classnotfoundexception