linux下ImageMagick和Jmagic的安装

LutosX 2011-10-24

    最近接手一个旧的项目,图片服务器,主要是别的服务器去下载图片,图片格式根据大小,色数去转换,需要用到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

DistributorID:CentOS

Description:CentOSrelease5.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)copiedjmagick.jartotomcatcommonlib&webapp/web-inf/lib

3)setLD_LIBRARY_PATH=/usr/local/libintomcatstartupscript

4)triedsetting-Djava.library.path=/usr/local/lib-Djmagick.systemclassloader=nointomcatstartupscript

暂时就碰到这些问题,大家可以对有些不对的地方进行补充,共同进步

  

  

相关推荐