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 协议》,转载必须注明作者和本文链接