郑州快速建站公司山东16市最新疫情
废话少说,上干货!!
现象:
EasyExcel导出数据时,在Linux和Windows上运行正常,在Docker中导出却出现FontConfiguration.getVersion错误。
原因分析:
主要在Docker中,缺少对应的字体,EasyExcel会调用到本地字体库,导致以上情况的出现。
常见的解决方案:
(1)很多通过在Docker中安装字体包,在联网的情况下来解决:
yum -y install fontconfig
(2)出现此种情况,多半是使用的:openjdk而不是使用的oracle JDK,通过更换镜像的方式,也可以解决。
(3)针对局域网环境,如何操作呢????无法安装字体库,无法更新容器镜像,这个就很麻烦了。
通过研究和实践,我提供离线的解决方案,主要通过文件映射的方式来实现,如需引用请注明出处。
(以下环境配置针对Kylin操作系统,其他环境可参考)
/usr/lib/aarch64-linux-gnu/:/usr/lib/aarch64-linux-gnu/
/lib/aarch64-linux-gnu/libpng12,so.0:/lib/aarch64-linux-gnu/libpng12. so.0
/lib/aarch64-linux-gnu/libexpat,so.1:/lib/aarch64-linux-gnu/libexpat. so.1
/var/cache/fontconfig/:/var/cache/fontconfig/
/usr/share/fonts/:/usr/share/fonts/
/usr/local/share/fonts/:/usr/local/share/fonts/
/user/share/doc/fontconfig:/user/share/doc/fontconfig/
/usr/include/fontconfig/:/usr/include/fontconfig/
/var/cache/fontconfig/:/var/cache/fontconfig/
/etc/fonts/:/etc/fonts/
/usr/bin/fc-cache:/usr/bin/fc-cache
/usr/bin/fc-list:/usr/bin/fc-list
/usr/bin/fc-match:/usr/bin/fc-match
/usr/bin/fe-query:/usr/bin/fc-query
/usr/bin/fc-cat:/usr/bin/fc-cat
/usr/bin/fc-pattern:/usr/bin/fc-pattern
/usr/bin/fc-scan:/usr/bin/fc-scan
/usr/bin/fc-validate:/usr/bin/fc-validate
经过实践,此方案可行,不用单独给Docker容器安装字体,利用本机文件映射来实现和解决。
转载请注意引用!!!