抛错java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/heting717/article/details/84455240

参考博客:

https://blog.csdn.net/pierre_/article/details/47363985 

https://blog.csdn.net/catoop/article/details/49057291

抛错:java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit

问题描述:

发布一条,包含图片时,无法上传。抛这个错。

解决方案:

修改Java命令启动选项,增加“-Djava.awt.headless=true”,以启用Headless模式。
java.awt.toolkit和java.awt.graphicsenvironment类中有许多方法,除了对字体,图像和打印的操作外还有调用显示器,键盘和鼠标的方法。对于Linux环境,则需要依赖X-server的支持,然而因为某些原因导致无法初始化而报错。此时,可以采用JRE提供的headless模式(从J2SE 1.4开始Java平台提供了对Headless模式的支持)。 
关于Headless模式,是指在缺少显示屏、键盘或鼠标时的系统配置。当系统应用需要自行生成图片时,可能会用到该模式。
 

解决

修改tomcat的bin目录下的catalina.sh

添加一下一行:

JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"


修改后,重启tomcat就好了。

猜你喜欢

转载自blog.csdn.net/heting717/article/details/84455240