【问题标题】:Java load image to bufferJava将图像加载到缓冲区
【发布时间】:2013-11-26 15:31:44
【问题描述】:

我是 java 新手,我尝试调整图像大小。

当我尝试使用此代码将图像加载到缓冲区中时:

File file = new File( fileName ); 
BufferedImage image = ImageIO.read( file );

系统抛出了这个异常:

javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)

root cause

java.lang.UnsatisfiedLinkError: /usr/lib/jvm/jdk1.7.0_45/jre/lib/i386/xawt/libmawt.so:     libXtst.so.6: cannot open shared object file: No such file or directory
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
java.lang.Runtime.load0(Runtime.java:795)
java.lang.System.load(System.java:1062)
java.lang.ClassLoader$NativeLibrary.load(Native Method)
java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1872)
java.lang.Runtime.loadLibrary0(Runtime.java:849)
java.lang.System.loadLibrary(System.java:1088)
sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
java.security.AccessController.doPrivileged(Native Method)
java.awt.Toolkit.loadLibraries(Toolkit.java:1646)
java.awt.Toolkit.<clinit>(Toolkit.java:1668)
sun.awt.AppContext$2.run(AppContext.java:271)
sun.awt.AppContext$2.run(AppContext.java:260)
java.security.AccessController.doPrivileged(Native Method)
sun.awt.AppContext.initMainAppContext(AppContext.java:260)
sun.awt.AppContext.access$200(AppContext.java:133)
sun.awt.AppContext$3.run(AppContext.java:314)
sun.awt.AppContext$3.run(AppContext.java:298)
java.security.AccessController.doPrivileged(Native Method)
sun.awt.AppContext.getAppContext(AppContext.java:297)
javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:154)
javax.imageio.ImageIO.<clinit>(ImageIO.java:65)
andreacatania.Load.doGet(Load.java:45)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)

我在 linux 系统(ubuntu 13.04 64 位)上,这个脚本在简单的 tomcat servlet 上运行,我看到了其他关于它的问题,但我认为问题出在 VM 上。

你有什么想法吗? ..非常感谢,我希望得到回应 最好的问候安德里亚

【问题讨论】:

  • 看来你的jdk不正确。尝试使用apt-get install 重新安装 jdk。并在 ubuntu 上使用默认的 JDK

标签: java linux tomcat virtual-machine


【解决方案1】:

您的系统上是否安装了库 libXtst?

$ locate libXtst

如果没有,请在终端中执行:

$ sudo apt-get update
$ sudo apt-get install libxtst6

然后再试一次。

【讨论】:

  • 我认为这不会改变任何事情。
  • 我尝试了此链接所说的内容,但没有解决我的问题...我曾在其他 PC 上尝试过此脚本并且它有效。
【解决方案2】:

我已经解决了这个问题:

sudo apt-get install libxtst6:i386

【讨论】:

  • 很高兴这解决了您的问题。不要忘记将您的问题标记为已解决(选择您的这个答案)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 2013-08-18
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
相关资源
最近更新 更多