docker容器部署jar应用导入文件时候报缺少字体错误解决

如题,在导入文件时候报错如下:

java 复制代码
Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager

经查是缺少对应字体,解决办法有两张:

第一种:重新在初始镜像里面安装对应字体,以后每次使用就行,具体方法可参考第二种方法

第二种:如果不想在初始镜像里面安装字体再重新生成镜像可使用如下方法:

上传字体文件到服务器:我这里使用的字体文件是 fontconfig-packages.tar.gz 这个安装包

在dockerfile里面配置,在容器启动时候 复制字体进容器,并安装对应字体

添加内容如下:

java 复制代码
# libfreetype.so.6  是宿主机上面的文件 ,可在/usr/lib64/ 目录下面寻找
COPY fontconfig-packages/libfreetype.so.6 /usr/lib64/libfreetype.so.6
# libpng15.so.15   是宿主机上面的文件, 可在/usr/lib64/ 目录下面寻找
COPY fontconfig-packages/libpng15.so.15 /usr/lib64/libpng15.so.15
#复制刚刚上传的文件到容器/app/目录下面
COPY fontconfig-packages /app/

#执行安装字体需要文件
RUN  rpm -ivh --nodeps *.rpm

安装完成后,可使用 ldconfig -p | grep freetype 命令,查看是否安装成功,成功后结果如下图所示

最下面是字体安装包下载链接:

docker应用缺少字体文件资源-CSDN文库

相关推荐
大盛供应链·卢生3 小时前
哪些国产芯片可以替代进口芯片,哪些替代不了
fpga开发·容器
小小的木头人4 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
Mr小林8 小时前
Docker 安装教程(在线 + 离线)
运维·docker·容器
java_logo9 小时前
Docker 部署 Milvus:轻松搭建高性能向量数据库平台
数据库·docker·私有化部署·milvus·向量数据库·rag·轩辕镜像
wdfk_prog13 小时前
VMware Ubuntu 虚拟机从 124 GB 压缩到 33 GB
运维·缓存·docker·容器
闲云野鹤在人间15 小时前
Docker入门|第3章 镜像详解
linux·网络·docker·容器·centos·云计算·php
典典分享指南16 小时前
AI 配图的排版规范
macos·docker·github·vim·visual studio
程序员老赵16 小时前
Docker 部署 DeepSeek Harness:轻松搭建本地 AI Agent 运行时平台
docker·agent·deepseek
闲云野鹤在人间16 小时前
Docker入门|第2章 容器架构详解
linux·运维·docker·容器·架构·云计算
wzq11_66616 小时前
Docker数据卷管理
运维·docker·容器