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 --nodeps ImageMagick-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/local/java ( java 的 home 目录,用 echo $JAVA_HOME 看)
(iv) make
(v) make install
(3) 把 libJMagick.so 拷贝到 jdk 的 amd64 目录里
cp /usr/local/jmagick/lib/libJMagick.so /usr/local/java/jre/lib/amd64/.
(4) 将 jmagick.jar 拷贝到 jdk 的 ext 目录下
cp /usr/local/jmagick/lib/jmagick-6.4.0.jar /usr/local/java/jre/lib/ext/.
这样安装就成功了。如果是 WEB 应用,在程序里没有写 systemclassloader=no 的话,那么在 catalina.sh 里面加上一句 CATALINA_OPTS="-Djmagick.systemclassloader=no"
需要注意的一点:如果你的 CentOS 是 64位 的,那么 JDK 也需要安装 64 位的,否则得话程序里调用 jmagick.jar 是不会成功的!