当前位置:   article > 正文

easy excel导出文档功能,部署docker容器时报错解决_导出添加水印 java.lang.unsatisfiedlinkerror: /usr/local/

导出添加水印 java.lang.unsatisfiedlinkerror: /usr/local/openjdk-8/lib/amd64/

报错提示:

UnsatisfiedLinkError: /usr/local/openjdk-8/lib/amd64/libfontmanager.so: libfreetype.so.6

或者

NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager

背景:

        springboot项目新增easy excel依赖,根据数据库内容生成excel并输出到response下载。在本地环境测试能正常下载,部署到开发环境服务器后就报错了。部署k8s集群时,按公司要求使用极简的jre镜像如下:

原因分析:

        使用的基础镜像不包含字体文件。

解决方案:

        修改Dockerfile,安装字体;或使用包含字体的基础镜像(不符合本公司要求故未采用)

Dockerfile片段:

(我们用的是Debian Linux,如果用的RedHat系列请使用yum下载字体库)

文本:

  1. FROM v1/openjdk:8u275-jre-skywalking2 as api
  2. RUN sed -i 's#http://deb.debian.org#https://mirrors.ustc.edu.cn#g' /etc/apt/sources.list
  3. RUN sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list
  4. RUN apt-get update \
  5. && apt-get install -y procps wget net-tools telnet curl inetutils-ping vim fontconfig xfonts-utils \
  6. &&cd /usr/share/fonts/ \
  7. &&mkfontscale \
  8. &&mkfontdir \
  9. &&fc-cache

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/195427
推荐阅读
相关标签
  

闽ICP备14008679号