乐趣区

关于linux:Excel-导出字体不支持

问题背景

最近一个数据导出的性能开发实现后,本地调试一切正常,但公布到服务器上之后,就提醒如下异样:

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
  • 服务器零碎:Alpine Linux 3.8
  • JDK 版本:openJDK 1.8.0_181

解决过程

查问材料后发现,是因为 Alpine 零碎短少字体相干的依赖(ttf-dejavu fontconfig),在 k8s pods 中尝试手动装置,接口仍旧报错

Makefile 中增加以下命令

RUN apk add --update ttf-dejavu && rm -rf /var/cache/apk/*

仍旧报错

之后通过 google 在 stack overflow 上发现一个发问,表述的是同样的问题,解答中给出的解决方案是回退 openJDK 版本,在和共事对齐之后,决定更换 docker base image

问题解决

调整 docker 根底镜像,采纳以下配置后,性能失常

  • 服务器零碎:Alpine Linux 3.4
  • JDK 版本:openJDK 1.8.0_111

参考链接

https://github.com/alibaba/ea…
https://stackoverflow.com/que…
https://gitlab.alpinelinux.or…
https://www.jianshu.com/p/409…

退出移动版