找不到bufferedimage這個class的解決方法
環境:
[1]redhat as5 64位
[2]websphere6.0 32位版本
正文:
發現原來在redhat as4 32位系統上跑的程式不能在64位redhat as5中運作。
系統報java.awt.image.bufferedimage這個class找不到。在sun
jdk 1.5平台中,該類在rt.jar包中,但是在ibm jdk1.4.2平台中
該類在graphics.jar包中。
在websphere管理器中為應用程式添加共享庫,在共享庫中添加
graphics.jar包的路徑(包括名稱),然後把該共享庫添加到應用程式中。
程式還是不能運作,提示沒有找到libxmu.so.6 使用rpm -qa|grep libxmu*
指令,發現系統中存在libxmu,再使用find指令把它找出來,發現它是個64位
so庫,于是從網上找來libxmu-1.0.4-1.fc9.i386.rpm安裝上去,然後使用
ln -s指令軟連結到websphere的[這裡省略]/websphere/appserver/java/jre/bin
目錄,使graphics.jar間接能夠在這個目錄中定位到libxmu.so.6這個檔案。
類似方式安裝libxp-1.0.0-11.fc9.i386.rpm這個包,在bin目錄中建立軟體連結
libxp.so.6,使這個連結指向新裝的32位so庫中。重新開機websphere問題解決。
備注:
發生錯誤後,隻有重新開機websphere才能看到新的修改(包括添加so庫)産生的影響,否則老是提示舊的錯誤資訊。
或則是隻提示,找不到bufferedimage的定義。
附:
[1]常用的指令
查找檔案:
find / - name [待找的檔案]
查找已安裝的包
rpm -qa | grep [包的名稱]
安裝包
rpm -ivh [待裝rpm包的名稱]
軟連結
ln -s [源檔案] [目标檔案]
删除軟連結
rm -rf [待删除檔案]
[2]依賴包可以從以下位置下載下傳
<a target="_blank" href="http://rpm.pbone.net/index.php3/stat/4/idpl/13658153/dir/fedora_9/com/libxmu-1.0.4-1.fc9.i386.rpm.html">http://rpm.pbone.net/index.php3/stat/4/idpl/13658153/dir/fedora_9/com/libxmu-1.0.4-1.fc9.i386.rpm.html</a>