1. 把老版本的ImageMagick和JMagick卸载干净
查看版本号:
[root@3qianke ~]# rpm -qa | grep ImageMagick
ImageMagick-6.2.8.0-4.el5_1.1
ImageMagick-6.2.8.0-4.el5_1.1
[root@3qianke ~]# rpm -qa | grep jmagick
jmagick-6.4.0-3
jmagick-6.4.0-3
卸载老版本:
[root@3qianke ~]# rpm -e ImageMagick-6.2.8.0-4.el5_1.1
error: "ImageMagick-6.2.8.0-4.el5_1.1" specifies multiple packages
[root@3qianke ~]# rpm -e--allmatches --nodepsImageMagick-6.2*
使用这两个参数以后,正常删除了
[root@3qianke ~]# rpm -e --allmatches --nodeps jmagick*
error: package jmagick-6.4.0-3.x86_64.rpm is not installed
[root@3qianke ~]# rpm -e--allmatches jmagick-6.4.0-3
使用这一个参数,正常删除了
2. 从JMagick网站下载6.4.0版本的ImageMagick和JMagick
Wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
Wget http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
(1) 安装ImageMagick
(i) 解压包ImageMagick:tar zxvf ImageMagick-6.4.0-0.tar.gz
(ii) cd ImageMagick-6.4.0
(iii) ./configure --prefix=/usr/local/ImageMagick
(iv) make
(v) make install
(2) 安装JMagick
(i) 解压包JMagick:tar zxvf jmagick-6.4.0-src.tar.gz
(ii) cd 6.4.0
(iii) ./configure --prefix=/usr/local/jmagick --with-magick-home=/usr/local/ImageMagick --with-java-home=/usr/java/jdk1.6.0_32(java的home目录,用echo $JAVA_HOME看)
(iv) make
(v) make install
(3) 把libJMagick.so拷贝到jdk的amd64目录里
cp /usr/local/jmagick/lib/libJMagick.so /usr/java/jdk1.6.0_32/jre/lib/amd64/.
(4) 将jmagick.jar拷贝到jdk的ext目录下
cp /usr/local/jmagick/lib/jmagick-6.4.0.jar /usr/java/jdk1.6.0_32/jre/lib/ext/.
这样安装就成功了。如果是WEB应用,在程序里没有写systemclassloader=no的话,那么在catalina.sh里面加上一句CATALINA_OPTS="-Djmagick.systemclassloader=no"
需要注意的一点:如果你的CentOS是64的,那么JDK也需要安装64位的,否则得话程序里调用jmagick.jar是不会成功的!
再有就是项目里边的jar包一定要区分32位和64位,要不然会出错的,相信我,我找了半天才发现的