编辑:已解决,请参阅评论
我正在尝试在LWJGL的网站(this one)上运行LWJGL 3的Hello World示例。我不会发布所有代码,因为我没有更改网站上的示例。我以为我在设置库时遵循了所有正确的步骤,但代码抛出以下错误打印输出:
Exception in thread "main" java.lang.ExceptionInInitializerError
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
at sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:156)
at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1088)
at java.lang.reflect.Field.getFieldAccessor(Field.java:1069)
at java.lang.reflect.Field.getInt(Field.java:574)
at org.lwjgl.system.APIUtil.apiClassTokens(APIUtil.java:308)
at org.lwjgl.glfw.GLFWErrorCallback$1.<init>(GLFWErrorCallback.java:98)
at org.lwjgl.glfw.GLFWErrorCallback.createPrint(GLFWErrorCallback.java:97)
at HelloWorld.init(HelloWorld.java:37)
at HelloWorld.run(HelloWorld.java:22)
at HelloWorld.main(HelloWorld.java:112)
Caused by: java.lang.NullPointerException
at org.lwjgl.system.Checks.check(Checks.java:99)
at org.lwjgl.system.Pointer$Default.<init>(Pointer.java:52)
at org.lwjgl.system.SharedLibrary$Default.<init>(SharedLibrary.java:18)
at org.lwjgl.system.windows.WindowsLibrary.<init>(WindowsLibrary.java:32)
at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:122)
at org.lwjgl.system.Library.loadNativeFromSystem(Library.java:300)
at org.lwjgl.system.Library.loadNative(Library.java:286)
at org.lwjgl.glfw.GLFW.<clinit>(GLFW.java:659)
... 12 more
我在IntelliJ中运行它,并且我已将lwjgl,lwjgl-glfw,lwjgl-opengl和lwjgl-natives-windows.jar作为类添加到项目结构中。 (如果我不添加lwjgl-natives-windows.jar,我会收到不同的错误消息。)
此错误的具体原因是什么?如何预防?我在本例中看到的其他问题没有与GLFWErrorCallback有关,我怀疑我可能做错了。