java.lang.UnsatisfiedLinkError错误问题

运行一段代码的时候报出一下错误:
java.lang.UnsatisfiedLinkError: no swt-win32-3063 in java.library.path
   at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
   at java.lang.Runtime.loadLibrary0(Runtime.java:788)
   at java.lang.System.loadLibrary(System.java:834)
   at org.eclipse.swt.internal.Library.loadLibrary(Library.java:100)
   at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)
   at org.eclipse.swt.widgets.Widget.<clinit>(Widget.java:66)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:324)
   at astexplorer.ASTMain.compileAndRun(ASTMain.java:970)
   at astexplorer.ASTMain.main(ASTMain.java:997)
Exception in thread "main"


估計在你的eclipse project根目錄下沒有swt-win32-3063.dll這個文件,
可在eclipse目錄下找到這個dll連接庫後,copy至project的根目下,應該可以解決問題的.

另外產生java.lang.UnsatisfiedLinkError問題也有可能是project以前使用了高版本的jdk/jre編譯,
現在使用低版本的jdk/jre執行而產生錯誤.


你可以把org.eclipse.swt.win32.win32.x86_3.1.0.jar 里面的三个动态库*.dll文件
swt-awt-win32-3138.dll,swt-gdip-win32-3138.dll,swt-win32-3138.dll   都放到
C:\windows\system32下面,这样肯定可以了

原因是swt 由C 和 C++直接实现。。。由动态链接库的形式调用。所以要放到system32下