验证码无法正常显示,提示Could not initialize class sun.awt.X11GraphicsEnvironment

自己埋的坑好解决,就怕未知的意外发生,因为就算你哭爹喊雅嘛蝶也不知道该如何下手!!!

项目中临时新增了一个小功能,使用了洪荒之力完成后,按照升级文档进行升级的线上升级(本以为该顺风顺水的 意外的惊喜不经意间就与你相遇了)。

本想信心满满的上去看看,想看看自己做的功能多么的牛B, 随之出现的一堆刺眼提示信息 【提示Could not initialize class sun.awt.X11GraphicsEnvironment】,然后就懵逼了 。

或者
当然了,如果你还在使用Xshell 6工具查看系统日志的实时查看,还有可能会出现下图的提示信息:
验证码无法正常显示,提示Could not initialize class sun.awt.X11GraphicsEnvironment

原因导致:下面全部引用 曹英杰文章

经过Google发现很多人也出现同样的问题。从了解了X11GraphicEnvironment这个类的功能入手,
一个Java服务器来处理图片的API基本上是需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。
所以,问题肯定出在启动server时,未能实现X-Server功能。root用户未启动XServer,mmcse中启动了XWindow。so问题来了。

【针对web server】上述问题的解决方式不一,这里我提供一种自己试验过的方法:
在tomcat/bin/catalina.sh 里加入 JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true
如下图:找到相同代码输入需填写的命令(大致在230行左右)
验证码无法正常显示,提示Could not initialize class sun.awt.X11GraphicsEnvironment