mageMagick一个优秀的图像处理软件,JMagick是对ImageMagickJAVA面向对象化包装。我在TomCat下使用JMagick的时候报错信息:
java.lang.UnsatisfiedLinkError: no JMagick in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at magick.Magick. <clinit>(Magick.java:38)
at com.util.ImageUtils.resize(ImageUtils.java:59)
at org.apache.jsp.eWebEditor.include.upload_jsp._jspService(org.apache.jsp.eWebEditor.include.upload_jsp:751)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
我已安装IImageMagic WINDOWS的包,安装完结之后,把安装目录下所有的DLL都拷贝到system32下面了.
将jmagick.jar文件导入到lib中,将jmagick.dll文件也放到SYSTEM32目录下.
在调用JMagick的class里加了
System.setProperty("jmagick.systemclassloader","no");代码如下:
public static boolean resize(String picFrom, String picTo, int width, int height, boolean scale) throws MagickException {
System.setProperty("jmagick.systemclassloader","no");
ImageInfo info = null;
try
{
if(new File(picFrom).exists())
{
info = new ImageInfo(picFrom);
}
MagickImage image = new MagickImage(new ImageInfo(picFrom));
MagickImage scaled;
if (!scale) {
scaled = image.scaleImage(width, height);
} else {
Dimension dimension = image.getDimension();
int iWi = (int) dimension.getWidth();
int iHi = (int) dimension.getHeight();
if(iWi <= width && width > 0) {
return false;
}
}
......
..............................
可是依然出现这个错误不知道为什么,请大虾指较.在线等,急....................
系统环境:XP,JDK1.5,Tomcat 5.5
我也遇到了您的问题 整了一夜,找到个解决方法但不知道是不是最好的。
就是把jmagick.dll 复制一份到tomcat/bin 目录中
我试了试 System.setProperty("jmagick.systemclassloader","no"); 这句代码都不用要就可以执行
希望对您有用
分享到:
相关推荐
里面包括jmagick 所需所有文件,jmagick.dll,jmagick.jar 还有安装文件, 以及linux安装说明! jmagick jmagick.jar jmagick资料 jmagick缩略图 jmagick jmagick.jar jmagick资料 jmagick缩略图
压缩包在java下使用jmagick的所有必需工具和安装包,还有使用实例。
Jmagick32位的和Jmagick64位的Jmagick.dll,Jmagick.jar 图片处理必备工具
压缩包在java下使用jmagick的所有必需工具和安装包,还有使用实例。
jmagick java 图像处理jmagick java 图像处理jmagick java 图像处理jmagick java 图像处理jmagick java 图像处理
jmagick.zip
jmagick.jar 及用法。。。。。。。。。。
jmagick-6.2.4-1-IM-6.2.5.zip
jmagick.jar java图像应用
jmagick image generate or operator library
强大的图片处理工具,imagemagick的java接口
JMagick-6.0.4-0.tar 下载
jmagick处理图片,图片高质量压缩,图片加水印。
jmagick-win-6.3.9 java 图片裁剪工具
JMagick是一个开源API,利用JNI(Java Native Interface)技术实现了对 ImageMagick API的Java访问接口,因此也将比纯Java实现的图片操作函数在速度上要快。
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 jmagick.jar
jmagick.jar,ImageMagick.exe,测试过,可用
JMagick图片处理 缩略图 水印 切图 压缩图片
java 图片放缩结束...防止内存泄露
ImageMagick-6.3.9+jmagick组合,此组合已测试通过