我是Java的新手,并且编写了一个使用LWJGL 3的脚本。该程序在Eclipse IDE中运行得很好,但是当我尝试将其导出为可运行的Jar文件时(检查了程序包所需的库字段),然后尝试通过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,而不是整个图书馆。重新读取错误时,当我还使用来自同一个库的其他导入(例如OpenGL)时,唯一找不到或加载的是GLFW。另外,它指定的行是我从GLFW调用函数的行,而不是在导入包时调用的行,不知道那是因为在导入不成功或可能存在其他问题时未调用错误在包装本身中。 我不知道我是否正确,只是尝试通过提供更多信息来提供帮助。
谢谢,奥利弗:)