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

 

参考博客:

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就好了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值