验证码不现实问题爆发在测试站,还好只是个测试站,有时间让我慢慢研究此问题。

具体的情况是这样的:

下午三点多,突然测试人员跟我说,测试站后台的验证码不现实了,也就无法登陆了
通过询问,是中午吃饭前还是好好的,突然就不能用了。

紧接着查看tomcat后台日志

java程序突然报错,报错信息如下:

[2018-06-27 21:08:15,318] http-bio-8480-exec-1 (ActionInterceptor.java:105) ERROR - Exception className :com.rongdu.web.action.ToolAction
[2018-06-27 21:08:15,318] http-bio-8480-exec-1 (ActionInterceptor.java:106) ERROR - Exception methodName:validimg
[2018-06-27 21:08:15,319] http-bio-8480-exec-1 (ActionInterceptor.java:107) ERROR - Exception message :
com.octo.captcha.CaptchaException: word is too tall: try to use less letters, smaller font or bigger background: text bounds = {text=0438
java.awt.geom.Rectangle2D$Float[x=0.0,y=-26.076172,w=20.198242,h=38.13672] ascent=26.076172 descent=12.060547 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=40.198242,y=-26.076172,w=21.632812,h=38.13672] ascent=26.076172 descent=12.060547 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=81.831055,y=-26.076172,w=20.198242,h=38.13672] ascent=26.076172 descent=12.060547 leading=-0.0
java.awt.geom.Rectangle2D$Float[x=122.0293,y=-26.076172,w=7.147461,h=38.13672] ascent=26.076172 descent=12.060547 leading=-0.0
} with fonts {java.awt.Font[family=Dialog,name=Verdana,style=bold,size=26]
java.awt.Font[family=Dialog,name=Arial,style=italic,size=26]
java.awt.Font[family=Dialog,name=Verdana,style=italic,size=26]
java.awt.Font[family=Dialog,name=Tahoma,style=bold,size=26]
} versus image width = 80, height = 37
at com.octo.captcha.image.gimpy.GimpyFactory.getImageCaptcha(GimpyFactory.java:79)
at com.octo.captcha.engine.image.ImageCaptchaEngine.getNextCaptcha(ImageCaptchaEngine.java:73)
at com.octo.captcha.service.AbstractCaptchaService.generateAndStoreCaptcha(AbstractCaptchaSe
..............................................................................
..............................................................................
报错信息太多,只截取一节;

这个问题困扰了我四个小时,是突然下午不能访问的,因为这期间测试站上线过一个版本

经过重启Tomcat无效后,决定回退测试,结果显然意见,依旧是失败,报错,不现实验证码;

为解决此问题,下班了公司人都走了,我还在公司继续看,因为不解决,影响第二天的测试;

一直到九点多,都没有找到原因,打电话咨询一个java开发的朋友技术很吊,把报错及问题说了一下,他说遇到过,应该是字体的问题,回头仔细翻看日志,分析日志,发现。。。。
下面三行报错代码:

java.awt.Font[family=Dialog,name=Arial,style=italic,size=26]
java.awt.Font[family=Dialog,name=Verdana,style=italic,size=26]
java.awt.Font[family=Dialog,name=Tahoma,style=bold,size=26]

然后把name的三个字体在windows下找到,放到centos下,在/usr/share/fonts/ 下创建三个目录,分别把三个字体的文件存放进去,然后执行 fc-cache 重新加载字体;

[root@bogon fonts]# pwd
/usr/share/fonts
[root@bogon fonts]# ls
arial lyx tahoma Verdana
[root@bogon fonts]# fc-cache

解决;

word is too tall: try to use less letters, smaller font or bigger background 报错 java程序 验证码不显示的更多相关文章

  1. IIS 发布 之 Word导出本地测试正常,发布报错

    用C#动态生成Word文档功能实现了,在本地的机器运行时是好的,但程序发布 IIS 或 远程服务器 上就报错, 报错信息为:检索 COM 类工厂中 CLSID 为 {000209FF-0000-000 ...

  2. PoiDocxDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个是<PoiDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)]>的扩展,上一篇是根 ...

  3. C# 生成word 文档 代码 外加 IIS报错解决方案

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  4. 使用java2Word生成Word文档打不开报错 存在非法字符xml

    今天也不知道是该吐槽Java2word还是我的eclipse,总之就是使用Java2Word生成文档的时候文档生成没问题,但是生成的Word文档打不开还报错,存在非法字符xml,好扎心.终于找到了解决 ...

  5. 涨姿势啦!Java程序员装X必备词汇之对象标记Mark Word!

    大家好,我是庆哥Java,一个专注于干货分享的Java自学者! 写在前面 如果你已经知道什么是Mark Word,那我也希望你都好好阅读下本篇文章,因为你有可能发现不一样的切入点来帮助你更加深入的了解 ...

  6. SpringBoot整合openoffice实现word文档的读取和导入及报错处理

    先安装openoffice4 Linux系统安装参考:https://www.cnblogs.com/pxblog/p/11622969.html Windows系统安装参考:https://www. ...

  7. java操作word报错及解决办法

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.17-x86 in java.libra ...

  8. SharePoint 2013 用IE11在线打开Word文档报错

    问题: 测试结果: ie11会报错,ie10和以下版本不会报错,chrom不会报错. jindahao

  9. velocity导出word报错解决

随机推荐

  1. spring cloud 面试题总结

    前言,随着分布式的时代到来,现在微服务越来越火了,Spring Cloud已经成为一个面试必问的考点,下面我们就Cloud这一些列的组件来一个入门到面试的过程.开篇前,先让大家看几个常见的Spring ...

  2. $POJ2942\ Knights\ of\ the\ Round\ Table$ 图论

    正解:图论 解题报告: 传送门! 一道,综合性比较强的题(我是萌新刚学$OI$我只是想练下$tarjan$,,,$QAQ$ 考虑先建个补图,然后现在就变成只有相互连边的点不能做邻居.所以如果有$K$个 ...

  3. TICK技术栈(三)InfluxDB安装及使用

    1.什么是InfluxDB? InfluxDB是一个用Go语言开发的时序数据库,用于处理高写入和查询负载,专门为带时间戳的数据编写,对DevOps监控,IoT监控和实时分析等应用场景非常有用.通过自定 ...

  4. Java基础系列二:Java泛型

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.泛型概述 1.定 ...

  5. 宋宝华:关于Ftrace的一个完整案例

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) Ftrace简介 Ftrace是Lin ...

  6. Spring Cloud gateway 三 自定义过滤器GatewayFilter

    之前zuul 网关介绍.他有过滤器周期是四种,也是四种类型的过滤器.而gateway 只有俩种过滤器:"pre" 和 "post". PRE: 这种过滤器在请求 ...

  7. Web for pentester_writeup之Commands injection篇

    Web for pentester_writeup之Commands injection篇 Commands injection(命令行注入) 代码注入和命令行注入有什么区别呢,代码注入涉及比较广泛, ...

  8. CSPS模拟 88

    今天我还是个弟弟. 果然唯有AK不可超越.. T1 决策单调性,暴力上整体二分. 极限数据跑的挺快,可是被n<k的脑残测试点qj了.. T2 又是大模拟! T3 想到剩余同种数量的彩球完全等效 ...

  9. 正睿OI集训游记

    什么嘛....就是去被虐的... 反正就是难受就是了.各种神仙知识点,神仙题目,各式各样的仙人掌..... 但是还是学会了不少东西...... 应该是OI生涯最后一次集训了吧.... 这次的感言还是好 ...

  10. 七月月赛T2

    题目描述 “X龙珠”是一款益智小游戏.游戏中有 n(2∣n) 个编号互不相同龙珠按照给定的顺序排成一个队列,每个龙珠上面都有一个编号.每次操作时,选择并取出龙珠队列中相邻的两个龙珠,放到目标队列的末尾 ...