一、前言
开发的的代码在本地和其它测试 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 绘图。
二、解决方案
通过网上资源的搜索,我找到了两种解决方案,我个人采用的是第二种方案。
1、优化 JDK 环境
进入自己的 JD 安装目录,在 bin 文件夹下修改 JAVAC 文件 启动 x server2。在 java 运行参数上加-Djava.awt.headless=true,Linux 的目录通常如下:/usr/java/jdk1.6.0_23/bin 文件夹下的 javac 文件中
2、服务器进行优化
2.1、tomcat 服务器
修改 tomcat 文件夹中 bin 目录下的 startup.sh 文件
export CATALINA_OPTS="-Djava.awt.headless=true"
2.2、Weblogic 服务器
如若是 Weblogic 服务器,则修改它的 setDomainEnv.sh 文件
JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.awt.headless=true"
参考图片:
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于