本机测试正常,上传到服务器就报错,信息如下:
Exception in thread "http-bio-8080-exec-2" java.lang.InternalError: 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:110)
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:186)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81)
at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:119)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at java.awt.Toolkit$2.run(Toolkit.java:870)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:862)
at com.fr.base.xml.BaseXMLUtils.deprecatedDecodeImage(Unknown Source)
at com.fr.base.xml.BaseXMLUtils.deprecatedReadImage(Unknown Source)
at com.fr.base.Icon$1.readXML(Unknown Source)
at com.fr.base.xml.XMLableReader.readXMLObject(Unknown Source)
at com.fr.base.Icon.readXML(Unknown Source)
at com.fr.base.xml.XMLableReader.readXMLObject(Unknown Source)
at com.fr.base.IconManager.readXML(Unknown Source)
at com.fr.base.xml.XMLableReader.readXMLObject(Unknown Source)
at com.fr.form.ui.WidgetManager.readXML(Unknown Source)
at com.fr.base.xml.XMLableReader.readXMLObject(Unknown Source)
at com.fr.base.XMLTools.readInputStreamXML(Unknown Source)
at com.fr.base.XMLFileManager.readXMLFile(Unknown Source)
at com.fr.form.ui.WidgetManager.getInstance(Unknown Source)
at com.fr.form.ui.Button.createJSONConfig(Unknown Source)
at com.fr.form.ui.ToolBar.createJSONComponents(Unknown Source)
at com.fr.form.ui.ToolBar.createJSONConfig(Unknown Source)
at com.fr.form.ui.ToolBar.createJSONConfig(Unknown Source)
at com.fr.report.web.ToolBarManager.toJSONConfig(Unknown Source)
at com.fr.web.core.ReportWebUtils.policyMap4Tpl(Unknown Source)
at com.fr.web.core.ReportWebUtils.context4PolicyPaneTpl(Unknown Source)
at com.fr.web.core.ReportWebUtils.context4PageTpl(Unknown Source)
at com.fr.web.core.service.ReportletDealWith.dealWithPageHtml(Unknown Source)
at com.fr.web.core.service.ReportletDealWith.dealWithReportlet(Unknown Source)
at com.fr.web.Reportlet.dealWeblet(Unknown Source)
at com.fr.web.core.ReportDispatcher.dealWithRequest(Unknown Source)
at com.fr.web.BaseServlet.doGet(Unknown Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.tsd.service.util.CharsetFilter.doFilter(CharsetFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)
解决办法:
在catalina.sh中所有的
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
下添加一行:
-Djava.awt.headless=true \
总共有六七处需要修改,重启异常消失。
参考:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment