Java使用jmagick处理图片遇到的异常
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,后面如果发现有解决这个问题的办法在继续完善。
最新文章
- Android开发者的Kotlin:书
- js数组操作总结
- 平衡二叉树AVL删除
- Android监听系统短信数据库变化-提取短信内容
- 解决:Redis:java.util.NoSuchElementException: Unable to validate object at
- [Linux] - Docker制作nginx+php
- Linux下Java开发环境搭建—CentOS下Eclipse的安装教程
- 使用archiver在nodejs下打包
- some experience duing wrting myweb in php
- 3、android notification 详细用法
- [CoreOS 转载] CoreOS实践指南(六):分布式数据存储Etcd(下)
- linux防止sshd被爆破(安装denyhosts)
- Visual Studio 2013发布网站
- 比较实用的JavaScript库
- eclipse 安装git插件
- Java学习----接口
- RH的NFS配置--简单OK
- ubuntu后台运行命令行
- CSS中zoom:1的作用
- 高级Java程序员的技术进阶之路
热门文章
- JDBCUtils工具类
- 【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形 【转】
- [iOS 高级] iOS远程推送与本地推送大致流程
- 2017.6.30 安装IDEA的插件mybatis plugin(破解版)
- Linux组件封装(二)中条件变量Condition的封装
- Django——基于类的视图(class-based view)
- Xcode强大的多视图立体分层显示View UI Herarchy
- mybatis学习笔记(10)-一对一查询
- 编辑器未包含main类型
- Spring MVC 学习笔记 spring mvc Schema-based configuration