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

具体的情况是这样的:

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

紧接着查看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. centos转ubuntu常见问题总结:

    1.vmtools的安装 https://blog.csdn.net/weixin_41762173/article/details/79480832 2.镜像源替换 https://opsx.ali ...

  2. 分手是祝愿:dp

    Description Zeit und Raum trennen dich und mich. 时空将你我分开. B 君在玩一个游戏,这个游戏n个灯和n个开关组成,给定这n个灯的初始状态,下标为从1 ...

  3. 口胡题fr

    T1五种贡献恶心的要死.$1.grand$$2.father$$3.brother$$4.son$$5.grandson$我们选择维护三个量.1.儿子和,$sx$2.孙子和,$gsx$3.自己的值,$ ...

  4. 『题解』Codeforces220B Little Elephant and Array

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description The Little Elephant loves playing with ...

  5. Python openpyxl Excel绘制柱形图

    这是一份openpyxl的使用指南. 大体内容翻译自官网 https://openpyxl.readthedocs.io/en/stable/charts/bar.html#vertical-hori ...

  6. 品优购(IDEA版)-第二天

    品优购-第2天 学习目标 目标1:运用AngularJS前端框架的常用指令 目标2:完成品牌管理的列表功能 目标3:完成品牌管理的分页列表功能 目标4:完成品牌管理的增加功能 目标5:完成品牌管理的修 ...

  7. java多线程与线程并发二:线程互斥

    本文章内容整理自:张孝祥_Java多线程与并发库高级应用视频教程 当两条线程访问同一个资源时,可能会出现安全隐患.以打印字符串为例,先看下面的代码: // public class Test2 { p ...

  8. 创建基于OData的Web API - Knowledge Builder API, Part I:Business Scenario

    在.NET Core 刚刚1.0 RC的时候,我就给OData团队创建过Issue让他们支持ASP.NET Core,然而没有任何有意义的答复. Roadmap for ASP.NET Core 1. ...

  9. thinkphp volist标签中加if判断的写法

    <if condition="$vo['devstatus'] eq 1">在线<else /> 离线</if> IF标签用法 <if c ...

  10. flume安装和介绍

    一.安装1.flume-ng-1.5.0-cdh5.3.6.tar.gz 下载链接:https://pan.baidu.com/s/1AWPGP2qnY6_VpYr_iSnJ3w 密码:tiog2.对 ...