Linux上安裝Imagemagickk和JMagick

一、軟件列表è下載地址:http://www.imagemagickk.org/download/delegates/

 

  • jpegsrc.v8.tar.gz
  • zlib-1.2.7.tar.gz
  • libpng-1.5.10.tar.gz
  • tiff-3.8.2.tar.gz
  • freetype-2.4.9.tar.gz
  • libtiff-lzw-compression-kit-1.5.tar.gz
  • Imagemagickk-6.5.3-10.tar.gz
  • jmagick-6.4.0-src.tar.gz

    

二、安裝過程

 

注意:使用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

6JMagick是一個開源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

7將上述軟件安裝目錄(/usr/local/tools/Imagemagick /usr/local/tools/jmagick-6.4.0freetype-2.4.9libpng-1.5.10zlib-1.2.7jpeg-8tiff-3.8.2)切換到應用所在的用戶、用戶組下

     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");

更改系統jdksudo 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                   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章