当前位置: 首页 > news >正文

如何解决docker运行Java程序导出Excel中文报错的问题?

前言

使用openjdk:17-jdk-slim基础镜像运行Java程序,导出Excel的时候报错。

导出时错误内容如下

java.lang.UnsatisfiedLinkError: /usr/local/openjdk-17/lib/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory

java.lang.InternalError: java.lang.reflect.InvocationTargetException

前期准备,需要安装好docker。

一、进入程序运行的容器

1、进入容器,执行命令如下。

# project替换为容器id或容器名称
docker exec -ti project bash

二、配置apt加速

1、进入apt配置路径,执行命令如下。

cd /etc/apt/

2、备份原来的配置,以备失败后可以回滚,执行命令如下。

cp sources.list sources.list.bak

3、写入阿里云镜像配置,执行命令如下。

# 因为openjdk:17-jdk-slim未安装vim编辑器,所以使用echo直接写入替代
echo "deb http://mirrors.aliyun.com/debian/ bullseye main contrib non-free" > sources.list && echo "deb http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free" >> sources.list && echo "deb http://mirrors.aliyun.com/debian-security bullseye-security main contrib non-free" >> sources.list

4、验证更新后的镜像,执行命令如下。

apt-get update

执行效果如下图所示。

5、至此,配置apt加速已完成。

三、安装依赖

1、执行命令如下。

apt-get update && apt-get install -y libfreetype6 libfontconfig1 fonts-dejavu fonts-dejavu-core

2、至此,导出Excel的本地相关依赖以及字体已安装完成,接下来就是测试验证呢。

总结

因为使用openjdk:17-jdk-slim基础镜像运行Java程序,导出Excel的时候报错,需要安装本地相关依赖以及字体,但是过程中又遇到更新依赖不成功的问题,需要给apt加速,总结步骤如下。

1、进入程序容器。

2、配置apt加速。

3、安装依赖。

相关文章:

  • [官方IP] Shift RAM
  • 五年经验Java开发如何破局创业
  • ShaderToy学习笔记 01.基础知识
  • 【WSL】wsl2出现Exec format error的解决办法
  • tensor 内部存储结构
  • FastAPI 零基础入门指南:10 分钟搭建高性能 API
  • 365打卡第R3周: RNN-心脏病预测
  • YOLOv5修改检测框颜色,粗细,标签大小,标签名称
  • AI编程案例拆解|基于机器学习XX评分系统-后端篇
  • 深入理解算力:从普通电脑到宏观计算世界
  • 【Docker项目实战】使用Docker部署Caddy+vaultwarden密码管理工具(详细教程)
  • 如何在项目中使用双token机制?
  • 代码随想录算法训练营Day36
  • MyBatis XML 配置完整示例(含所有核心配置项)
  • 单片机-89C51部分:4、固件烧录
  • MAVLink协议:原理、应用与实践
  • Pytorch(无CPU搭建)+Jupyter
  • 代码随想录算法训练营第二十八天
  • Pygame入门:零基础打造你的第一个游戏窗口
  • 二、UI自动化测试02--元素定位方法
  • 持续更新丨伊朗官员:港口爆炸事件已致5人死亡
  • 铜钴巨头洛阳钼业一季度净利润同比大增九成,最新宣布首度进军黄金矿产
  • 民生访谈|公共数据如何既开放又安全?政务领域如何适度运用人工智能?
  • 人民论坛:是民生小事,也是融合大势
  • 美媒称特朗普考虑大幅下调对华关税、降幅或超一半,外交部回应
  • 神十九乘组视频祝福第十个中国航天日,展望中华民族登月梦圆