我对 Java 比较陌生,我制作了一个使用 LWJGL 3 的脚本。该程序在 Eclipse IDE 中运行得很好,但是当我尝试将其导出为可运行的 Jar 文件时(我检查了 package requiredlibraries 字段) ),然后尝试通过 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 调用函数的行,而不是导入包时的行,不知道这是因为导入不成功时不会调用错误,还是可能存在其他问题在包本身内。 我不知道我是否正确,只是想通过提供更多信息来提供帮助。
谢谢,奥利弗:)
最佳答案
关于java - 使用导入的库运行 jar 文件时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54001207/