很多时候在单独的Linux系统是部署Tomcat应用会显示不出来验证码。
提示: Could not initialize class sun.awt.X11FontManager
这样的有以下几种原因。
第一种,这种是非常简单的也是网站能查到的大多数配置 -Djava.awt.headless=true
对于这种这里就不多说了,网上能找到很多。
第二种,如果你使用了xshell,则需要看一下环境变量的问题
如果你已经设置tomcat Catalina.sh中的参数,还是无法显示验证码。而且还是通过Xshell连接的,那么,请到连接配置属性里面,在SSH->隧道。 这里面将 “转发X11连接到” 这个选项前面的勾去掉。
第三种,检查且统一环境
如果上述两种方法都试过了,不管用,那么就请检查一下环境,按如下步骤进行:
1.检查本机jdk
whereis java
java: /usr/bin/java /usr/java/jdk1.8.0_331-i586/bin/java /usr/share/man/man1/java.1
注意:这里要看清楚java是使用的32位的还是64位的
2.检查本机是否安装libgcc库,通常情况是java版本与本机安装的库版本的位数不一样,64位的java。安装了32位的libgcc。
yum list installed libgcc
已安装的软件包
libgcc.i686 8.5.0-15.el8
libgcc.x86_64 8.5.0-15.el8
我这里是安装了32位的和64位的。如果没有,请到这里下载:找到对应自己系统的下载即可
https://centos.pkgs.org/8/centos-baseos-x86_64/libgcc-8.5.0-4.el8_5.i686.rpm.html
3.安装使用rpm
rpm -ivh libgcc-8.5.0-4.el8_5.i686.rpm
4.重启tomcat。解决