zoukankan      html  css  js  c++  java
  • Java使用jmagick处理图片遇到的异常

    java通过ImageMagick处理图片遇到问题:

    下面异常都是我一个一个遇到的:

    异常1:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: F:WindowsSystem32jmagick.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

    原因:我的jdk是64位的,而jmagick.dll是32位的,据说jmagick.dll没有64位的

    解决办法:更换jdk,把jdk修改成32位的就好了

    异常2:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no JMagick in java.library.path

    原因:jmagick.dll没有在运行环境中

    解决办法:把jmagick.dll放在运行所使用的jdk目录下的bin目录下面(为什么这里说运行所使用的,因为可以安装多个jdk版本,通过Myeclipse调试的时候可以选择jdk),如果是web程序在tomcat下面,可以把jmagick.dll放在tomat下bin目录或者tomcat运行所使用的jdk的bin目录

    异常3:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: G:Program FilesJavajdk1.6.0_45_32injmagick.dll: Can't find dependent libraries

    原因:没有找到jmagick.dll依赖相关的dll库

    解决办法:1.直接把ImageMagick-6.3.9-Q8目录下的文件复制到jdk1.6.0_45_32in目录下(如果有tomcat,也可以复制到tomcat下),这种方式不推荐。2.在环境变量classpath中加入"G:Program Files (x86)ImageMagick-6.3.9-Q8",也就是ImageMagick-6.3.9-Q8的安装目录。

    这里说明一下我最终成功的开发环境(因为环境不一样有的时候解决问题的方法也不一样,我之前就是是用网上的配置方式,无论如何不成功)

    1.操作系统win8

    2.32位的jdk1.6.0_45

    3.apache-tomcat-6.0.35

    遗留问题:总是觉得只能用32位的jdk不太方便,总不能为了这个而换成32位的jdk,后面如果发现有解决这个问题的办法在继续完善。

  • 相关阅读:
    VS10的一个问题
    有关开发的配置的有用信息
    管理Fragments(转)
    消除SDK更新时的“https://dl-ssl.google.com refused”异常--(转)
    JAVA字符串编码转换常用类
    在 Android 中调用二进制可执行程序(native executable )
    Android NDK 下的宽字符编码转换及icu库的使用(转)
    Linux字符编码转换 UTF8转GB3212
    一键生成JNI头文件方法二
    eclipse中创建NDK和JNI开发环境最简单配置方法
  • 原文地址:https://www.cnblogs.com/andysd/p/3941737.html
Copyright © 2011-2022 走看看