找不到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>