no JMagick in java.library.path

tonny_vera 2008-03-09 02:31:03
1、下载jmagick-6.2.6-win-im-6.2.8.zip,并把jmagick.jar放到应用的lib下,我放到%JAVA_HOME%/jre/lib/ ext/下,jmagick.dll拷贝到SYSTEM32下;
2、安装ImageMagick-6.2.8-3-Q16-windows-dll.exe软件
3、在class中最上面输出 System.setProperty("jmagick.systemclassloader", "no");

这些我都照着做了,但是tomcat还是报错:
我已经照着第三步做了还是报:no JMagick in java.library.path ,这是为什么????


2008-3-9 13:41:45 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet action threw exception
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 cn.balancetech.ImageZoomOperation.scaleImg(ImageZoomOperation.java:859)
at cn.balancetech.web.user.action.UserModifyAction.execute(UserModifyAction.java:177)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at com.sys86.code.ChangeChinese.doGet(ChangeChinese.java:13)
at com.sys86.code.ChangeChinese.doPost(ChangeChinese.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
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 cn.balancetech.pub.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
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)
...全文
4748 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzg668 2009-12-22
  • 打赏
  • 举报
回复
那使用jboss 怎么办?放在bin目录下还是报no JMagick in java.library.path
dainiao01 2009-02-19
  • 打赏
  • 举报
回复
如果是 web项目 使用tomcat 其实把DLL文件放在 tomcat安装目录下的 bin目录也可以
100度泡腾 2008-11-12
  • 打赏
  • 举报
回复
这个问题郁闷了一个上午 不过最终解决了 no JMagick in java.library.path 这句话的意思是在 java.library.path 中找不到 JMagick 字面意义不是很好理解 不过仔细琢磨一下就明白了,是java.library.path中没有JMagick.dll(linux还没来得及测试), 具体办法:

安装JMagick(JMagick website: http://www.yeo.id.au/jmagick/)

下载JMatick。file name: jmagick-6.2.6-win.zip
download address: http://www.yeo.id.au/jmagick/quickload/win-6.2.6/jmagick-6.2.6-win.zip
解压后

把jmagick-6.2.6-win\q16\jmagick.dll copy 到c:\windows\system32目录下,如果程序在运行的时候提示:no JMagick in java.library.path(找不到jmagick路径),用System.out.println(System.getProperty("java.library.path")). 打印出当前环境的路径,然后再把jmagick.dll 复制到其中的一个路径文件夹中问题解决。

Squall1009 2008-03-10
  • 打赏
  • 举报
回复
应该是没找到jmagick.dll
SYSTEM32在PATH里面吧?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧