errMsg: java.lang.ArrayIndexOutOfBoundsException: 0 at sun.font.CompositeFont.getSlotFontCompositeFo

errMsg: java.lang.ArrayIndexOutOfBoundsException: 0 at sun.font.CompositeFont.getSlotFontCompositeFont.java:375错误详解


at sun.font.CompositeFont.getSlotFontCompositeFont.java:375错误详解)

详细错误信息

java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.CompositeFont.getSlotFont(CompositeFont.java:375)
at sun.font.CompositeGlyphMapper.initMapper(CompositeGlyphMapper.java:81)
at sun.font.CompositeGlyphMapper.(CompositeGlyphMapper.java:62)
at sun.font.CompositeFont.getMapper(CompositeFont.java:433)
at sun.font.GlyphList.mapChars(GlyphList.java:269)
at sun.font.GlyphList.setFromString(GlyphList.java:244)
at sun.java2d.pipe.GlyphListPipe.drawString(GlyphListPipe.java:71)
at sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2928)

错误原因

在本地windows环境调试没有问题,一到linux服务器上图片验证码就无法加载,并且报错数组越界,
或者导出excel文件时无业务逻辑出现莫名数组越界报错。这个是因为openJdk是从oracleJdk移植过来的,某些字体库可能没有版权被移除掉,导致了这个错误,使用oracle官方的jdk版本就能够完美解决这个问题。

环境配置

阿里云的ecs服务器,jdk版本为1.8 openJdk

解决方案

1.检查服务器jdk版本,如果使用的是openjdk需要更换版本,换成1.8 oracleJdk
2.我这边推荐去oracle官网注册下载,经验证某些版本的1.8 oracleJdk可能也会出现这个问题

	官网下载地址:https://www.oracle.com/java/technologies/downloads/

3.如果还是存在以上问题,下载linux的字体库

//安装字体库
yum install fontconfig
//强制刷新
fc-cache –force
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值