开发的的代码在本地和其它测试Linux环境均正常,但是在我新安装的tomcat8下运行时却报了以下错错误,因此直接排除了代码等原因,直接找到了对应的环境
Caused by: java.awt.AWTError: Can't connect to X11 window server using 'localhost:11.0' as the value of the DISPLAY variable.
原因:
数据导出时通过 AWT 实现的, 而 AWT 会调用操作系统本地窗口资源来绘图, windows 可以很好地支持;但在 linux 下,如果没有进到 X window , 就无法使用 AWT 绘图。
通过网上资源的搜索,我找到了两种解决方案,我个人采用的是第二种方案。
进入自己的JD安装目录,在bin文件夹下修改JAVAC文件 启动x server2。在java运行参数上加-Djava.awt.headless=true,Linux的目录通常如下:/usr/java/jdk1.6.0_23/bin文件夹下的javac文件中
修改tomcat文件夹中bin目录下的startup.sh文件
export CATALINA_OPTS="-Djava.awt.headless=true"
如若是Weblogic 服务器,则修改它的setDomainEnv.sh文件
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
参考图片: