2013-11-26 68 views
0

我是新的Java,我嘗試調整圖像大小。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上。

你有什麼想法嗎? ..非常感謝,我希望在迴應 最好的問候Andrea

+0

這似乎是你的jdk是不正確的。嘗試使用'apt-get install'重新安裝jdk。並使用默認的JDK上的ubuntu – lichengwu

+0

可能的重複[無法找到/安裝libXtst.so.6?](http://stackoverflow.com/questions/17355863/cant-find-install-libxtst-so-6) – Bludzee

回答

0

你有你的系統上安裝庫libXtst?

$ locate libXtst 

如果不是這樣,在終端執行此:

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

然後再試一次。

+0

是的,它已經安裝。我可以嘗試重新安裝JDK嗎? –

+1

我認爲這不會改變任何東西。 – Bludzee

+0

那麼,我該怎麼辦?因爲這個庫已經安裝.. –

0

我有這個解決它:

sudo apt-get install libxtst6:i386 
+1

我很高興這解決了你的問題。不要忘記標記你的問題已解決(選擇你的答案)。 – Bludzee