linux下ImageMagick和Jmagic的安装
??? 最近接手一个旧的项目,图片服务器,主要是别的服务器去下载图片,图片格式根据大小,色数去转换,需要用到ImageMagick去转换,在部署在LInux64位的服务器上时碰到的一些问题,下面把环境安装过程中遇到的问题整理下。我的linux版本是:
LSB Version:??? :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:??? CentOS release 5.5 (Final)
Release:??????? 5.5
Codename:?????? Final
?我安装的ImageMagick 是6.4版本,对应的Jmagic版本也是6.4版(版本一定要对应,好像不对应会有问题出现)。
注意:JDK版本(1.6的64位JDK),我在这个问题上出现了很郁闷的事情,我不知道是不是由于JDK位数的影响,但是我把32位的换成64位的机器就可以了.
?
?下面开始安装
?1:先去下载安装包
??? 下载地址:wget http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz?
????????????????? ?wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
2: 安装ImageMagick
?? tar xzvf??ImageMagick-6.4.0-0.tar.gz;?
? cd ImageMagick-6.4.0
? ./configure --prefix=/usr/local/ImageMagick.6.4 --enable-shared --without-perl
这里可能会报 configure: error: no acceptable C compiler found in $PATH
?主要是gcc没装,去安装这个组件
?
? 可以输入命令 yum install gcc
?
? make
? make install
? 安装完成后,测试是否成功需要去配置环境变量
??vim? /etc/profile
? 在文件最下面加上下面的内容:
???? export PATH=$PATH:/usr/local/ImageMagick.6.4/bin
source /etc/profile
然后测试命令 convert -version 成功出现版本信息证明Ok了
3:安装并配置JMagick
tar xzvf jmagick-6.4.0-src.tar.gz?
cd 6.4.0
./configure --with-java-home=此处为JAVA_HOME目录 --with-magick-home=/usr/local/ImageMagick.6.4
make
make install
cp? /usr/local/lib/libJMagick-6.4.0.so??? 此处为JAVA_HOME目录/jre/lib/amd64/libJMagick.so
配置环境变量如下
?vim?? /etc/profile
添加
?export LD_LIBRARY_PATH=:/usr/local/lib:/usr/local/ImageMagick.6.4/lib
export DYLD_LIBRARY_PATH=:/usr/local/lib:/usr/local/ImageMagick.6.4/lib
export CLASSPATH=$CLASSPATH:/usr/local/lib
然后执行下面的命令
source /etc/profile
?
OK安装完成
?安装成功后可
java.lang.NoClassDefFoundError: Could not initialize class magick.ImageInfo
能会遇到的问题:
解决办法:
1) copied jmagick.jar to JAVA_HOME/jre/lib/ext
2) copied jmagick.jar to tomcat common lib & webapp/web-inf/lib
3) set LD_LIBRARY_PATH=/usr/local/lib in tomcat startup script
4) tried setting -Djava.library.path=/usr/local/lib -Djmagick.systemclassloader=no in tomcat startup script
暂时就碰到这些问题,大家可以对有些不对的地方进行补充,共同进步
?
??
??
?
?