Windows 8上的lockAndInitHandle错误

我正在Windows 8 PC上使用Lwjgl-2.9.1开发Java应用程序。
我正在使用Eclipse(开普勒)作为开发工具。
在Eclipse中运行应用程序正常工作。 但是当我把应用程序打包成一个jar文件,并从一个.bat文件运行它,
使用Jdk 1.7-45,我得到以下错误:

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: org.lwjgl.opengl.AWTSurfaceLock.lockAndInitHandle(Ljava/nio/ByteBuffer;Ljava/awt/Canvas;Z)Z at org.lwjgl.opengl.AWTSurfaceLock.lockAndInitHandle(Native Method) at org.lwjgl.opengl.AWTSurfaceLock.access$100(AWTSurfaceLock.java:51) at org.lwjgl.opengl.AWTSurfaceLock$1.run(AWTSurfaceLock.java:94) at org.lwjgl.opengl.AWTSurfaceLock$1.run(AWTSurfaceLock.java:92) at java.security.AccessController.doPrivileged(Native Method) at org.lwjgl.opengl.AWTSurfaceLock.privilegedLockAndInitHandle(AWTSurfaceLock.java:92) at org.lwjgl.opengl.AWTSurfaceLock.lockAndGetHandle(AWTSurfaceLock.java:66) at org.lwjgl.opengl.WindowsAWTGLCanvasPeerInfo.doLockAndInitHandle(WindowsAWTGLCanvasPeerInfo.java:58) at org.lwjgl.opengl.PeerInfo.lockAndGetHandle(PeerInfo.java:85) at org.lwjgl.opengl.AWTGLCanvas.paint(AWTGLCanvas.java:320) at sun.awt.RepaintArea.paintComponent(RepaintArea.java:264) at sun.awt.RepaintArea.paint(RepaintArea.java:240) at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:347) at java.awt.Component.dispatchEventImpl(Component.java:4937) at java.awt.Component.dispatchEvent(Component.java:4687) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:708) at java.awt.EventQueue$4.run(EventQueue.java:706) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:705) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91) 

确认AWTSurfaceLock类的来源后,看起来就像生成了错误
在Dll文件中调用本机函数时。 调用的本地函数是: lockAndInitHandle(lock_buffer, component); (2个参数)
但是根据互联网上不同的网站,AWTSurfaceLock类的一些版本会用第三个参数调用函数:
lockAndInitHandle(ByteBuffer lock_buffer, Canvas component, Canvas display_parent)

我应该使用哪种版本的Lwjgl和Java JDK?
Eclipse是否运行自己的JRE?

请参阅Lwjgl的文档 : java -Djava.library.path="natives/" -jar MyJar.jar

或者: System.setProperty("org.lwjgl.librarypath", new File("natives").getAbsolutePath());

因为需要找到本地库。

在Eclipse中,我想你已经在你的项目中设置了本地路径。