(备忘)Java web项目迁移到Centos7中验证码无法显示

每天多学一点知识。

今天部署项目的时候出现验证码无法显示的问题,如下图所示:

找问题的过程:

1、F12查看网络请求,跟本地比对除了状态码不一样,没看出来什么问题

2、查看运行日志catalina.out,也没有提示异常

3、在tomcat的logs文件夹下的目录里查看了所有日志,终于在localhost.2019-08-14.log中看到了错误

解决问题:

该问题的解决方法:
在Tomcat/bin/catalina.sh 中增加-Djava.awt.headless=true

至于加的位置吗,第一次看到的是在大约392行的地方加,我尝试了在else里添加,然后重启tomcat,问题依旧;第二次尝试在if和else里都加了,还是无用;

第三次尝试,添加JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"如下图所示

重启tomcat,验证码成功出现。

 原因:

对于一个Java服务器来说经常要处理一些图形元素,例如地图的创建或者图形和图表等。这些API基本上总是需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。

备忘:

还有的方法是:(参考网址

[root@localhost /]# yum install dejagnu.noarch 1:1.4.4-17.el6
[root@localhost /]# yum install dejavu-sans-mono-fonts.noarch 2.33-1.el6
[root@localhost /]# yum install dejavu-serif-fonts.noarch 2.33-1.el6

猜你喜欢

转载自www.cnblogs.com/congcongdi/p/11353812.html