問題
在xshell中執行java項目報錯。java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the val
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at org.icepdf.core.pobjects.fonts.ofont.Font.<clinit>(Font.java:90)
at org.icepdf.core.pobjects.fonts.FontFactory.getFont(FontFactory.java:126)
at org.icepdf.core.util.Parser.getObject(Parser.java:435)
at org.icepdf.core.util.LazyObjectLoader.loadObject(LazyObjectLoader.java:73)
at org.icepdf.core.util.Library.getObject(Library.java:167)
at org.icepdf.core.pobjects.Resources.getFont(Resources.java:140)
at org.icepdf.core.util.content.AbstractContentParser.consume_Tf(AbstractContentParser.java:805)
at org.icepdf.core.util.content.OContentParser.parseText(OContentParser.java:799)
at org.icepdf.core.util.content.OContentParser.parse(OContentParser.java:183)
at org.icepdf.core.pobjects.Page.init(Page.java:403)
at org.icepdf.core.pobjects.Document.getPageImage(Document.java:1144)
at org.apache.pdfbox.example.PDFTest.pdf2Pic(PDFTest.java:31)
at org.apache.pdfbox.example.PDFTest.main(PDFTest.java:54)
原因
因爲用到了圖形處理,java程序會去尋找linux上的圖形界面是否啓動
解決
方法1:關閉xshell轉發X11連接(設置完以後記得要重新打開一個窗口)
方法2:設置jvm參數,不去檢查圖形界面
-Djava.awt.headless=true
參考: