??? ??? 最近在看一個程序,該程序的圖形界面采用SWT編寫。想要將程序運行起來首先需要做的就是將swt(jface)包放到類路徑上,swt包可以從http://www.eclipse.org/swt下載(其中除了swt包還有和操作系統(tǒng)相關(guān)的文件),和swt開發(fā)相關(guān)的插件為VE。一切就緒,運行程序發(fā)現(xiàn)了“Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3232 in java.library.path ”的錯誤(我的操作系統(tǒng)為Ubuntu7.04)。解決方案有多種,這里只介紹我使用的一種方法。首先應(yīng)該在下來的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
??? ??? 現(xiàn)在要做的就是找到 java.library.path的位置,然后將swt包中與操作系統(tǒng)相關(guān)的文件烤到相應(yīng)的路徑下。查看 java.library.path的信息方法如下:
??? ??? 打開Eclipse->幫助->關(guān)于Eclipse
SDK->詳細(xì)配置信息,仔細(xì)查看,可以發(fā)現(xiàn)這一行:
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程序,圖形窗口出現(xiàn)。