项目部署到CentOS服务器验证码显示不出来
解决方案
- CentOS7 项目部署到服务器
- tomcat9
- Java11
执行命令
yum install fontconfig
fc-cache --force
- 参考 https://www.cnblogs.com/101key/p/13704024.html
- https://blog.csdn.net/qq_31772441/article/details/106470920
其他解决方案
原因
- 验证码采用 awt图形处理并在内存中生成,Java程序会寻找 linux上图形界面是否启动。如 Linux缺少组件,则缺少了显示设备键盘鼠标汇报这个错误。
- 所以需要开启无头模式,Headless模式是系统的一种匹配模式,开启激活 headless模式,告诉程序,现在你要工作在 headles model下就不要指望硬件帮忙了,你带自力更生依靠系统的计算能力模拟这些特性来继续
- 修改 tomcat 的 bin/catalina.sh 修改
[root@nt bin]# vim catalina.sh
# 修改项目验证码显示不出来
JAVA_OPTS=$JAVA_OPTS-Djava.awt.headless=true
: