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

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

异常1:

Exception in thread "main" java.lang.UnsatisfiedLinkError: F:\Windows\System32\jmagick.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 Files\Java\jdk1.6.0_45_32\bin\jmagick.dll: Can't find dependent libraries

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

解决办法:1.直接把ImageMagick-6.3.9-Q8目录下的文件复制到jdk1.6.0_45_32\bin目录下(如果有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,后面如果发现有解决这个问题的办法在继续完善。

Java使用jmagick处理图片遇到的异常的更多相关文章

  1. java中常见的几种异常

    算术异常类:ArithmeticExecption空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArray ...

  2. AES加密时的 java.security.InvalidKeyException: Illegal key size 异常

    程序代码 // 设置加密模式为AES的CBC模式 Cipher cipher = Cipher.getInstance("AES/CBC/NoPadding"); SecretKe ...

  3. 深入理解java虚拟机系列(一):java内存区域与内存溢出异常

    文章主要是阅读<深入理解java虚拟机:JVM高级特性与最佳实践>第二章:Java内存区域与内存溢出异常 的一些笔记以及概括. 好了開始.假设有什么错误或者遗漏,欢迎指出. 一.概述 先上 ...

  4. spring+ibatis问题1—— 程序报错:java.sql.SQLException: Io 异常: Connection reset by peer, socket write error; ”或“java.sql.SQLException 关闭的连接”异常

    转自:http://blog.sina.com.cn/s/blog_1549fb0710102whz2.html spring+ibatis程序测试时报错:java.sql.SQLException: ...

  5. JAVA之旅(十)——异常的概述,Try-Catch,异常声明Throws,多异常处理,自定义异常,Throw和Throws的区别

    JAVA之旅(十)--异常的概述,Try-Catch,异常声明Throws,多异常处理,自定义异常,Throw和Throws的区别 不知不觉,JAVA之旅这个系列已经更新到第十篇了,感觉如梦如幻,时间 ...

  6. 《深入理解Java虚拟机》-----第2章 Java内存区域与内存溢出异常

    2.1 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任 ...

  7. 《深入理解java虚拟机》第二章 Java内存区域与内存溢出异常

    第二章 Java内存区域与内存溢出异常 2.2 运行时数据区域  

  8. Java内存区域与内存溢出异常--HotSpot虚拟机对象探秘

    以常用的HotSpot和常用的Java堆为例,深入探讨HotSpot虚拟机在Java堆中对象分配.布局和访问的全过程 1.对象的创建 ①虚拟机遇到一条new指令后,首先将去检查这个指令的参数是否能够在 ...

  9. Java虚拟机--Java内存区域的划分和异常

    Java内存区域的划分和异常 运行时数据区域 JVM在运行Java程序时候会将内存划分为若干个不同的数据区域. 程序计数器 线程私有.可看作是当前线程所执行的字节码的行号指示器,字节码解释器的工作是通 ...

随机推荐

  1. THINKPHP nginx设置路由为PATHINFO模式

    首先THINKPHP配置文件中设置 //url访问模式为rewrite模式 'URL_MODEL'=>'2', 然后再在nginx.conf文件中,找到这一条语句 #access_log log ...

  2. iOS 设置导航栏 返回按钮文字隐藏

    //隐藏返回按钮文字 [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) f ...

  3. ubuntu12.04 下安装nodejs

    liunx里面安装nodejs我也找了非常多文章,貌似对非常多liunx新手来讲不是非常清楚,以下是我结合一些文章,亲自实践得到的安装步骤.同一时候还有大家关心的与seajs紧密相关的spm模块的安装 ...

  4. Django的Form、CSRF、cookie和session

    Django是一个大而全的web框架,为我们提供了很多实用的功能,本文主要介绍Form.CSRF.cookie和session 一.Form 在web页面中form表单是重要的组成部分,为了数据安全和 ...

  5. springboot jpa | mybaits

    一.jpa: 1.jpa可以使用jpaRepository,@query的查询, 当然如果方法命名规范,可以不写sql代码 2.jpa可也使用EntityManager,通过@PersistenceC ...

  6. Android 虚线切割线

    drawable下新建一个虚线的xml.dash_line.xml <? xml version="1.0" encoding="utf-8"?> ...

  7. quick-cocos2d-x3.2 scheduler使用注意事项

    近期在使用scheduler时发现例如以下问题 调用: local scheduler = require(cc.PACKAGE_NAME .. ".scheduler") fun ...

  8. squid cache 服务器端的安装,配置

    一,什么squid Squid是一个高性能的代理缓存服务器,可以加快内部网浏览Internet的速度,提高客户机的访问命中率.Squid不仅支持HTTP协议, 还支持FTP.gopher.SSL和WA ...

  9. Android各种模拟器使用笔记

    [√]天天模拟器 优点: 缺点: 个人经验 ADB 版本过低的解决办法 去启动时的广告方法 去除多余进程方法 ADB无法连接到模拟器 原因分析: 解决方案: 安装APP(APK)时非常非常慢TTMNQ ...

  10. vs 2015 update 3各版本下载地址

    微软在06月27日发布了Visual Studio 2015 Update 3 .在MSDN中微软也提供下载,而且MSDN的Visual Studio 2015 Update 3与官方免费下载的文件是 ...