您的位置:首页 > 运维架构 > Linux

Linux安装JMagick

2012-04-12 10:12 155 查看
Linux安装JMagick

2011-01-14 14:44
应项目需求要处理图片缩放等,普通的缩放效果太差,JMagick处理图片效果很好
 
一、建立并切换到安装文件存放目录
 mkdir /home/install 
 cd /home/install
二、下载JMagick和ImageMagick
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 三、安装依赖包
yum install libpng 
yum install libpng-devel 
yum install libjpeg 
yum install libjpeg-devel 
yum install gd 
yum install gd-devel 
 yum install libtiff 
 yum install libtiff-devel
四、安装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
make
make install
五、安装并配置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
# 拷贝libJMagick.so到JRE
cp /home/install/6.4.0/lib/libJMagick-6.4.0.so 此处为JAVA_HOME目录/jre/lib/amd64/libJMagick.so
# 拷贝magick-6.4.0.jar到install目录备份
cp /home/install/6.4.0/lib/jmagick-6.4.0.jar /home/install/magick-6.4.0.jar
六、清理现场
rm -rf /home/install/6.4.0
rm -rf /home/install/ImageMagick-6.4.0
 
我在安装的时候发生过一些问题,搜到了解决办法
 
Exceptions/Errors:

java.lang.NoClassDefFoundError: Could not initialize class magick.ImageInfo

java.lang.UnsatisfiedLinkError: no JMagick in java.library.path

Environment:

ImageMagick - 6.0.7.1-17

JMagick - (6.0.4-0)

CentOS 4.5 (Linux 2.6.9-023stab044.11-enterprise #1 SMP Sun Sep 30 12:15:39 MSD 2007 i686 i686 i386 GNU/Linux)

Tomcat 6.0.14

Java(TM) SE Runtime Environment (build 1.6.0_02-b05)

I'm trying to utilize JMagick in a web application and I've spent a lot of time troubleshooting this issue with JMagick.  I've tried just about everything suggested in the FAQ and archived mailing list.  

I have ImageMagick installed and I complied all the necessary JNI interfaces for JMagick (6.0.4-0) successfully but for some reason this problem keeps occuring.  Seems like no matter

what I do I can't get the webapp to see the compiled ImageMagick interfaces/libraries located in /usr/local/lib. 

Things I've tried so far:

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

5) tried setting 4) properties via System.setProperty within my web app's Initialization class 

I'm kinda out of things to try at this point and according to JMagick's setup instructions & FAQ everything should be working with everything I've tried.  So if anyone has any suggestions as to where my problem may lye I'd really appreciate some help.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息