参考博客:
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就好了。