一、系统环境
操作系统: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出现重复加载造成,删除问题解决。