一、软件列表è下载地址:http://www.imagemagickk.org/download/delegates/
二、安装过程
注意:使用root用户安装,首先使用yum install gcc*或者yum update更新gcc
调用java –version,必须显示如下信息
java version "1.6.0"
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
1、安装jpeg支持软件jpegsrc.v8.tar.gz
tar zxvf jpegsrc.v8.tar.gz
cd jpeg-8/
./configure --prefix /usr/local/tools/jpeg-8 --enable-shared --enable-static
make
make install
2、安装png支持软件libpng-1.5.10.tar.gz(安装支持软件zlib-1.2.3)
tar zxvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
CFLAGS="-O3 -fPIC" ./configure --prefix /usr/local/tools/zlib-1.2.7 //使用64位元的方法进行编译
make
make install
tar zxvf libpng-1.5.10.tar.gz
cd libpng-1.5.10
./configure --prefix /usr/local/tools/libpng-1.5.10
make
make install
如果安装出错报错:configure: error: zlib not installed
.进入zlib的源文件目录,执行命令 make clean,清除zlib;
2.重新配置 ./configure,后面不要接--prefix参数 CFLAGS="-O3 -fPIC" ./configure;
3.编辑 && 安装;
4.进入libpng目录,执行命令 ./configure --prefix=/usr/local/libpng;
5.编译 && 安装;
6.安装成功;
3、安装tiff支持软件
tar zxvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure --prefix /usr/local/tools/tiff-3.8.2
make && make install
4、安装freetype字体支持软件freetype-2.4.9.tar.gz
tar zxvf freetype-2.4.9.tar.gz
cd freetype-2.4.9
./configure --prefix=/usr/local/tools/freetype-2.4.9
make
make install
5、安装Imagemagick-6.5.3-10.tar.gz[安装高版本的再安装JMagic时会报错]
tar zvxf Imagemagick-6.5.3-10.tar.gz
cd Imagemagickk-6.5.3-10
./configure --prefix=/usr/local/tools/Imagemagick --enable-share LDFLAGS="-L/usr/lib" CPPFLAGS="-I/usr/include" --enable-lzw
make
make install
6、JMagick是一个开源API,利用JNI(Java Native Interface)技术实现了对ImagemagickkAPI的Java访问接口。安装jmagick-6.4.0-src.tar.gz
env 查看JAVA_HOME,如果没有
vi /etc/profile
export JAVA_HOME=/export/home/weblogic/Oracle/Middleware/jrockit_160_17_R28.0.0-679
export CLASSPATH=.:$JAVA_HOME/lib/:$ CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
调用source /etc/profile,使修改生效
tar xvfz jmagick-6.4.0-src.tar.gz
cd 6.4.0
./configure --prefix=/usr/local/tools/jmagick-6.4.0 --with-magick-home=/usr/local/tools/Imagemagick --enable-share --enable-static
make
make install
将JMagic库加入到共享库中
vi /etc/profile
Mac OS时:
export DYLD_LIBRARY_PATH=
$DYLD _LIBRARY_PATH:/usr/local/jmagick-6.4.0/lib:/usr/local/tools/Imagemagickk/lib
Linux系统时:
export PATH=$PATH:/usr/local/tools/Imagemagick/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tools/jmagick-6.4.0/lib:/usr/local/tools/Imagemagick/lib
export DYLD_LIBRARY_PATH=:/usr/local/tools/jmagick-6.4.0/lib:/usr/local/tools/Imagemagick/lib
export CLASSPATH=$CLASSPATH:/usr/local/tools/jmagick-6.4.0/lib
source /etc/profile
Chown –R weblogic:dba 软件安装目录
三、在JAVA工程中使用Jmagick压缩生成图片
将jmagick-6.4.0.jar拷贝至jre的lib /ext下,
比如 /export/home/weblogic/Oracle/Middleware/jrockit_160_17_R28.0.0-679/jre/lib/ext/jmagick-6.4.0.jar
应用中添加System.setProperty("jmagick.systemclassloader","no");
更改系统jdk:sudo update-alternatives --config java
运行 convert 测试安装是否成功
四、常见问题
Exceptions/Errors:
java.lang.NoClassDefFoundError: Could not initialize class magick.ImageInfo
java.lang.UnsatisfiedLinkError: no JMagick in java.library.path
Things I've tried so far:
1) copied jmagick.jar to JAVA_HOME/jre/lib/ext
2) copied jmagick.jar to tomcat(your server) 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
注:
用非root账号启动 weblogic时 在启动域中的 vi /bin/ startWebLogic.sh 添加CLASSPATH=${CLASSPATH}:/usr/local/tools/jmagick-6.4.0/lib:/usr/local/tools/Imagemagick/lib解决java.lang.UnsatisfiedLinkError: no JMagick in java.library.path问题
if [ "${MEDREC_WEBLOGIC_CLASSPATH}" != "" ] ; then
if [ "${CLASSPATH}" != "" ] ; then
CLASSPATH="${CLASSPATH}${CLASSPATHSEP}${MEDREC_WEBLOGIC_CLASSPATH}"
else
CLASSPATH="${MEDREC_WEBLOGIC_CLASSPATH}"
fi
fi
CLASSPATH = ${CLASSPATH}:/usr/local/tools/jmagick-6.4.0/lib:/usr/local/tools/Imagemagick/lib
echo "."
echo "."
echo "JAVA Memory arguments: ${MEM_ARGS}"
echo "."
echo "WLS Start Mode=${WLS_DISPLAY_MODE}"
echo "."
echo "CLASSPATH=${CLASSPATH}"
echo "."
echo "PATH=${PATH}"
echo "."
"startWebLogic.sh" 188L, 5797C