一、系統環境
操作系統:RHEL 4.7
Tomcat版本:5.5.26
二、下載安裝文件:
http://dl.maptools.org/dl/libtiff/tiff-3.8.2.tar.gz
http://www.ijg.org/files/jpegsrc.v8a.tar.gz
ftp://ftp.simplesystems.org/pub/png/src/libpng-1.2.43.tar.gz
http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
三、安裝配置過程
分別下載上面的軟件,然後解壓,安裝:
(1)安裝tiff-3.8.2
tar –zxvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure –prefix=/usr
Make
Make install
Make check
(2)安裝jpegsrc.v8a.tar.gz
tar –zxvf jpegsrc.v8a.tar.gz
cd jpegsrc-0.8
./configure –prefix=/usr
Make
Make install
Make check
(3)安裝libpng-1.2.43.tar.gz
tar –zxvf libpng-1.2.43.tar.gz
cd libpng-1.2.43
./configure –prefix=/usr
Make
Make install
Make ckeck
(4)安裝ImageMagick-6.4.0-0.tar.gz
tar –zxvf ImageMagick-6.4.0-0
./configure –prefix=/usr
Make
Make install
Make check
(5)安裝jmagick-6.4.0-src.tar.gz
tar –zxvf jmagick-6.4.0-src.tar.gz
mv 6.4.0 jmagick-6.4.0
cd jmagick-6.4.0
./configure –prefix=/usr
Make
Make clean -----第一遍編譯的時候會遇到錯誤,因此需要清除一下然後再次的make就OK了
Make
Make install
(6)配置環境變量
配置當前用戶的配置文件.bash_profile,也可配置所有用戶/etc/profile,添加
LD_LIBRARY_PATH=/usr/lib
export LD_LIBRARY_PATH
在CLASSPATH中添加/usr/lib/jmagick-6.4.0.jar
source /etc/profile
對於32位系統:
找到/usr/lib中的libjpeg.so.8和libjpeg.so.8.0.1,然後修改libjpeg.so和libjpeg.so.62的連接爲:
ln -s -f libjpeg.so.8.0.1 libjpeg.so
ln -s -f libjpeg.so.8.0.1 libjpeg.so.62
ln -s -f libjpeg.so.8.0.1 libjpeg.so.8
修改之後ll 查看下是不是生效
修改/etc/ld.so.conf添加/usr/lib
然後ldconfig
對於64爲系統,需要對/usr/lib64下面的libjpeg.so.8和libjpeg.so.8.0.1重複32位系統的操作,這裏不再詳細講述。
(7)修改tomcat的bin/catalina.sh
添加:
JAVA_OPTS="$JAVA_OPTS -Djmagick.systemclassloader=no"
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/lib"
(8)重啓tomcat,頁面測試功能
(9)測試壓縮功能
上傳圖片cc.jpg ,執行
convert -resize 520x460 -stroke '#FFFFFF' -fill red -pointsize 40 -draw 'text 20,40 "www.xxt.cn"' cc.jpg 22.jpg
(10)如果在新上傳類時出現問題:
org.apache.jasper.JasperException: Could not initialize class magick.ImageInfo
或者
org.apache.jasper.JasperException: Native Library /usr/lib/libJMagick-6.4.0.so already loaded in another classloader
工程裏面/WEB-INF/lib/jmagick-6.4.0.jar出現重複加載造成,刪除問題解決。