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下