1. 把老版本的ImageMagick和JMagick卸載乾淨 java
查看版本號: node
[root@3qianke ~]# rpm -qa | grep ImageMagick 網站
ImageMagick-6.2.8.0-4.el5_1.1 spa
ImageMagick-6.2.8.0-4.el5_1.1 ip
[root@3qianke ~]# rpm -qa | grep jmagick ssl
jmagick-6.4.0-3 ci
jmagick-6.4.0-3 get
卸載老版本: it
[root@3qianke ~]# rpm -e ImageMagick-6.2.8.0-4.el5_1.1 class
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位,要否則會出錯的,相信我,我找了半天才發現的