linux安装使用imagemagick 以及jmagick的问题

jiaping108 2012-12-03 01:40:11
linux系统版本以及jdk版本:

Plain Text code
??12345678 [root@hosta imageprocess]# uname -a Linux hosta.localdomain 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux [root@hosta imageprocess]# java -version java version "1.6.0_30" Java(TM) SE Runtime Environment (build 1.6.0_30-b12) Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode) [root@hosta imageprocess]#


imagemagick 以及jmagick安装正常,应用服务器为weblogic10.3
jmagick用源码使用上述JDK进行编译后生成了jmagick-6.4.0.jar/libJMagick-6.4.0.so/libJMagick.so三个文件,其中jmagick-6.4.0.jar放到项目中使用了,在windows下运行正常,在linux下运行,报错java.lang.UnsatisfiedLinkError: no JMagick in java.library.path.
于是打出java.library.path如下:
/usr/java/jdk1.6.0_30/jre/lib/amd64/server:/usr/java/jdk1.6.0_30/jre/lib/amd64:/usr/java/jdk1.6.0_30/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

将libJMagick.so文件拷贝置/usr/lib下,重新启动工程,使用该功能时则报错如下:
java.lang.UnsatisfiedLinkError: /usr/lib/libJMagick.so: /usr/lib/libJMagick.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)

目前来看,系统是64位的,libJMagick.so也是使用源码用64位的JDK编译出来的,请问该如何解决?

另:单独写了个java文件测试,使用javac编译然后java命令运行,则运行正常

import magick.MagickException;
import magick.MagickImage;
public class ProcessImg {

public static void resize1(String picFrom, String picTo) {
try {
ImageInfo info = new ImageInfo(picFrom);
MagickImage image = new MagickImage(new ImageInfo(picFrom));
MagickImage scaled = image.scaleImage(100, 86);// 小图片文件的大小.
scaled.setFileName(picTo);
scaled.writeImage(info);

} catch (MagickApiException ex) {

} catch (MagickException ex) {

}
}

public static void main(String[] arg) {
System.setProperty("jmagick.systemclassloader", "no");
ProcessImg.resize1("/home/app/imageprocess/pic/a.jpg", "/home/app/imageprocess/pic/b.jpg");

}

}
...全文
204 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaping108 2012-12-04
  • 打赏
  • 举报
回复
系统中只有只有这一个JDK了,其他的包括系统自带的都已卸载~ 跟weblogic自带的JRE有关系?该如何解决?
HelloKata 2012-12-03
  • 打赏
  • 举报
回复
系统中有几个JDK? 看起来weblogic使用的JDK版本为32位,不匹配!
jiaping108 2012-12-03
  • 打赏
  • 举报
回复
在线等在线等

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧