(本文档仅供参考)
问题说明
在安装部署过程中,设置了知识库连接及其它配置项,重启时可能报如下错误:Caused by: java.lang.InternalError: Can't connect to X11 window server using '10.9.0.117:0.0' as the value of the DISPLAY variable,原因是程序检测到当前系统没有启动图形界面所致。
解决方法
让程序不去检测当前图形用户界面是否已经启动即可。我们直接修改 Java 虚拟机的 JVM 参数,添加如下参数项,具体可参考wiki文档:应用服务器配置建议(JVM参数)
-Djava.awt.headless=true
附录:错误堆栈
01-01 03:06:05 DEBUG activate(smartbi.repository.DAOModule:94) - InputArguments:"-Djava.util.logging.config.file=/smartbi/apache-tomcat-7.0.47/conf/logging.properties" "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" "-Xms2048m" "-Xmx2048m" "-XX:MaxNewSize=256m" "-XX:MaxPermSize=512m" "-Djava.endorsed.dirs=/smartbi/apache-tomcat-7.0.47/endorsed" "-Dcatalina.base=/smartbi/apache-tomcat-7.0.47" "-Dcatalina.home=/smartbi/apache-tomcat-7.0.47" "-Djava.io.tmpdir=/smartbi/apache-tomcat-7.0.47/temp" 01-01 03:06:05 DEBUG activate(smartbi.repository.DAOModule:111) - Repository Info: [user]=smartbi;[password]=********;[driver]=oracle.jdbc.driver.OracleDriver;[URL]=jdbc:oracle:thin:@10.5.10.20:1521:IBADB Jan 01, 2014 3:07:09 AM org.apache.catalina.startup.HostConfig deployWARs SEVERE: Error waiting for multi-thread deployment of WAR files to complete java.util.concurrent.ExecutionException: java.lang.InternalError: Can't connect to X11 window server using '10.9.0.117:0.0' as the value of the DISPLAY variable. at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:772) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:483) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1408) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.InternalError: Can't connect to X11 window server using '10.9.0.117:0.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:190) at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81) at smartbi.cx.a(Smartbi:148) at smartbi.cx.b(Smartbi:129) at smartbi.spreadsheetreport.SpreadsheetReportModule.activate(Smartbi:339) at smartbi.framework.Framework.activate(Smartbi:49) at smartbi.extension.spring.SmartbiContextLoaderListener.contextInitialized(SmartbiContextLoaderListener.java:118) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:983) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1660) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ... 4 more Jan 01, 2014 3:07:09 AM org.apache.catalina.startup.HostConfig deployDirectory