??? ??? 最近在看一個程序,該程序的圖形界面采用SWT編寫。想要將程序運行起來首先需要做的就是將swt(jface)包放到類路徑上,swt包可以從http://www.eclipse.org/swt下載(其中除了swt包還有和操作系統相關的文件),和swt開發相關的插件為VE。一切就緒,運行程序發現了“Exception
in thread "main" java.lang.UnsatisfiedLinkError: no
swt-pi-gtk-3232 in java.library.path
”的錯誤(我的操作系統為Ubuntu7.04)。解決方案有多種,這里只介紹我使用的一種方法。首先應該在下來的swt壓縮包中看到諸如下列的文件:
libswt-atk-gtk-3232.so
libswt-cairo-gtk-3232.so
libswt-gnome-gtk-3232.so
libswt-gtk-3232.so
libswt-mozilla-gtk-3232.so
libswt-pi-gtk-3232.so
??? ??? 現在要做的就是找到
java.library.path的位置,然后將swt包中與操作系統相關的文件烤到相應的路徑下。查看
java.library.path的信息方法如下:
??? ??? 打開Eclipse->幫助->關于Eclipse
SDK->詳細配置信息,仔細查看,可以發現這一行:
java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.00/jre/../lib/i386:/usr/lib/firefox/:/usr/java/packages/lib/i386:/lib:/usr/lib
那么,把這些libswt-***.so拷到上面的某個目錄下即可。
??? ?? 再次運行SWT程序,圖形窗口出現。