Could not initialize class sun.awt.X11GraphicsEnvironment解决方案
Could not initialize class sun.awt.X11GraphicsEnvironment 解决方案#
报错信息:#
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
报错原因:#
一个 Java 服务器来处理图片的 API 基本上是需要运行一个 X-server 以便能使用 AWT(Abstract Window Toolkit,抽象窗口工具集)。所以,问题肯定出在启动 server 时,未能实现 X-Server 功能。报错的原因是:linux 未能启动 XServer 服务
解决方案:#
1、服务器安装 XServer#
这个服务一般包含于图形化界面组里, 未亲测;
2、运行 headless 服务器加 - Djava.awt.headless=true#
需要 JDK1.4 以上版本;在有问题的 server 服务的 java -jar 启动命令增加选项 - Djava.awt.headless=true; ( 亲测,有效)
示例:#
#tomcat将此参数加入catalina.sh的JAVA_OPTS参数中
JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS -Djava.awt.headless=true"
#springBoot项目将参数加入到启动命令中
/usr/java/jdk1.8.0_191/bin/java -jar -Djava.awt.headless=true -Xms128m -Xmx512m spring-demo-1.0-SNAPSHOT.jar
本作品采用《CC 协议》,转载必须注明作者和本文链接