当前位置: 首页 > 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--元素定位方法
  • 铁路上海站迎五一假期客流最高峰,今日预计发送77万人次
  • 五一假期上海口岸出入境客流总量预计达59.4万人,同比增约30%
  • 美乌签署协议建立美乌重建投资基金
  • 秦洪看盘|资金切换主线,重构市场风格
  • 浪尖计划再出发:万亿之城2030课题组赴九城调研万亿产业
  • 滨江集团:一季度营收225.07亿元,净利润9.75亿元