java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager

在使用POI和EasyExcel做报表导出时,在本地环境和dev环境没有问题,放在测试环境报错,测试环境使用docker部署,大致可以确定和以下几位网友遇到的是同一个问题。

参考链接:

腾讯云容器EasyExcel导出Excel报错NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager_request processing failed; nested exception is com-CSDN博客

EasyExcel本地导出正常,服务器导出报错:java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontMa-CSDN博客

原因就是:当EasyExcel.write(...)写数据的时候,由于容器中没有对应的字体进行渲染,导致生成excel文件报错,失败。

解决方案:1.尝试在dockerfile中安装字体。可以借鉴以上两位大佬的办法。

                   2.如果数据量很少,并且是使用原生POI;在创建workbook对象时,可以使用XSSFWorkbook 代替SXSSFWorkbook

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值