zoukankan      html  css  js  c++  java
  • 解决docker中Easyexcel因缺少字体无法导出的问题

    问题:
            最近因公司业务由传统虚拟机方式迁移至容器docker方式部署后,最近发现系统某处导出excel报表后无内容(0字节)

    报错:
    Error: java.lang.reflect.InvocationTargetException com.alibaba.excel.exception.ExcelGenerateException: java.lang.InternalError: java.lang.reflect.InvocationTargetException

    java.lang.NullPointerException: null at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)

    解决方法:
    出处:https://www.cnblogs.com/liucx/

    经过百度,谷歌查找资料,是由于docker基础镜像使用的是Alpine环境,缺少对应的字体包.

    在 Dockerfile 中进行修改,增加如下内容:
    ENV LANG en_US.UTF-8
    RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*


    通过添加fontconfig和一款字体dejavu,可以完美解决词问题。

    不过最好的方法还是封装一个镜像,替换掉官方的底包。流水线上每次打包都安装ttf-dejavu还是挺慢的。

  • 相关阅读:
    window.fonts
    smpt authentification 配置
    如何从思维上应对
    中文字体 英文字体
    Path Breadcrumbs
    drupal commerce app
    做视频或者什么模块开发之类的
    分页符 箭头 难看
    theme wrapper 例子
    background position 稍微深入
  • 原文地址:https://www.cnblogs.com/liucx/p/14125240.html
Copyright © 2011-2022 走看看