这几天,线上的项目出现了一个问题,就是二维码图片没有出来,考虑到图像都是用到awt库,可能是tomcat没有图像库的问题,给tomcat加上awt的支持就解决了。
加在catalina.sh的开头的JAVA_OPTS环境变量中加入-Djava.awt.headless=true
就搞定了(加后如:JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -Djava.awt.headless=true")
,然后重启搞定。
java在生成图形验证码时,报了一个找不到X11GraphicsEnvironment类的异常,之前也没有出现这个情况,不知什么原因突然出现了,经过查找解决方案,发现在Tomcat的启动脚本catalina.sh文件中增加一个参数即可解决。
Tomcat日志中错误信息:
解决方案,打开tomcat的bin目录,找到catalina.sh文件,编辑文件,在JAVA_OPTS这行的后面加上 -Djava.awt.headless=true 即可解决,亲测有效。
加上之后别忘了重启Tomcat。
扩展:
如果你是其他项目或者啥,或者apache服务啥的,同理,启动的时候带上这个参数就ok