记录一次部署服务报错排查

本文最后更新于:2023年12月23日 晚上

前言

在本地环境部署服务后,登录界面验证码显示不出来,看后台日志是一个关于字体包的错误。

报错

报错如下:

1
2
3
4
5
java.lang.NullPointerException
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:776)

问题原因

查到原因是CentOS系统缺少字体包。
执行 yum provides */dejavu 命令查找字体包,执行 yum -y install fontconfig 命令安装字体包。
还要执行命令安装查找到的对应的字体包。

1
2
3
yum -y install dejavu-sans-fonts-2.33-6.el7.noarch
yum -y install dejavu-sans-mono-fonts-2.33-6.el7.noarch
yum -y install dejavu-serif-fonts-2.33-6.el7.noarch

总结

没有字体包的原因是,安装CentOS系统时,选择了最小化安装,于是就没有字体包,但是项目的验证码需要字体包,就报错了。看错误日志是排查错误的好办法。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!