使用easyExcel框架报错:服务器缺少字体

news/2024/7/3 6:53:14

后台服务使用easyExcel框架生成表格,但是生成的时候报如下的错误:
在这里插入图片描述
这种报错其实就是部署服务的服务器缺少字体,正确的方法是安装字体。需要注意的是,测试环境服务器与生产环境服务器的在配置版本上可能存在差异,因此需要提前比对,避免测试环境测试成功的操作步骤,但是在生产环境上运行时有问题。操作步骤如下:

1.查询服务器架构aarch64和x86

uname -m

2.查询操作系统

CentOs Linux release 7.82003 (Core)cat /etc/redhat-release

3选择合适的文件上传到data/logs文件夹下,运行命令

sudo -u root rpm -Uvh --force --nodeps dejavu-sans-fonts-2.33-6.el7.noarch.rpm

4.查看字体

fc-list

5.若4找不到命令,安装此命令。

sudo -u root yum install fontconfig

当然如果服务器设置了策略不能正常访问外网,则需要离线安装fontconfig,安装完之后,需要建立软连接
运行fc-list命令报如下错误:

fc-list: symbol lookup error: /usr/lib64/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var 报错

如下建立软连接的方法可以参考

https://blog.csdn.net/weixin_42726196/article/details/128832580
https://github.com/plunify/libfontconfig/blob/master/libfontconfig.so.1.11.1

http://lihuaxi.xjx100.cn/news/1852398.html

相关文章

mysql中字符串截取与拆分

按分隔符把字符串拆成多行 引言截取字符串一、left(str,length)二、right(str,length)三、截取特定长度的字符串四、按分隔符截取 分割字符串一、分割成多列二、分割成多行 总结 引言 截取和拆分字符串在编程生涯中是普遍存在的,在sql中也不例外,下面就…

获取MATLAB默认配色方案

color_map get(gca, ColorOrder)转化为 十六进制 程序参考链接 % 输入:1x3 行向量,例如 [0 113.9850 188.9550] % 输出:字符串,例如 #1183CE function HEXRGB2HEX(RGB)% RGB2HEX : 实现颜色RGB值转化haex% 输入RGB三个数的数…

windows文件删除权限

一、普通文件 这里指的是所有可以被随意删除的文件。 二、可更改权限的文件 如果想要删除的文件无法被删除,那大概是权限不够,这时候:鼠标右键、属性、安全、编辑、选择相应的组或用户(如果不知道哪个可以全选,反正…

Elasticsearch:使用 ILM 示例运行降采样 (downsampling)

如果你对降采样还不是很熟的话,请阅读之前的文章 “Elasticsearch:对时间序列数据流进行降采样(downsampling)”。这是一个简化的示例,可让你快速了解降采样如何作为 ILM 策略的一部分来减少一组采样指标的存储大小。 该示例使用典…

技术前沿丨Teranode如何实现无限扩容

​​发表时间:2023年9月15日 BSV区块链协会的技术团队目前正在努力开发Teranode,这是一款比特币节点软件,其最终目标是实现比特币的无限扩容。然而,正如BSV区块链协会网络基础设施负责人Jake Jones在2023年6月举行的伦敦区块链大会…

Provisioning Profile的重要性

大家好,我是咕噜-凯撒。在iOS和macOS开发中,Provisioning Profile(配置文件)是一个至关重要的组成部分,它包含开发者证书、App ID和设备信息的文件,不仅用于验证应用程序的身份和权限,还包括了很…

基于Python的电影数据可视化分析系统的设计与实现

点我完整下载:基于Python的电影数据可视化分析系统的设计与实现.docx 基于Python的电影数据可视化分析系统的设计与实现 Design and Implementation of a Python-based Movie Data Visualization and Analysis System 目录 目录 2 摘要 3 关键词 4 第一章 绪论 4 1.…

11.30 C++类特殊成员函数

#include <iostream>using namespace std; class Per { private:string name;int age;double *high;double weight; public://构造函数Per(string name,int age,double high,double weight):name(name),age(age),high(new double(high)),weight(weight){cout << &q…