安装fontconfig后Jenkins仍报Fontconfig head is null错误求助
Jenkins启动报错:Fontconfig head is null 解决方法
问题场景
- 通过
jenkins.war启动通用版Jenkins时触发以下错误:
2024-03-05 15:23:36.018+0000 [id=1] SEVERE hudson.util.BootFailure#publish: Failed to initialize Jenkins
java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1263)
- 已安装fontconfig,执行
rpm -qa | grep fontconfig结果:
rpm -qa | grep fontconfig fontconfig-2.8.0-5.el6.x86_64 fontconfig-devel-2.8.0-5.el6.x86_64
已尝试添加
-Djava.awt.headless=true参数启动,问题未解决。环境信息:
openjdk 21(试过Eclipse和Openjdk.net两个发行版) Jenkins 2.440.1 Red Hat Enterprise Linux Server release 6.10 (Santiago) base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch
可行解决方案
1. 安装基础字体包
RHEL 6.10默认缺少必要的字体文件,仅安装fontconfig无法满足需求,执行以下命令安装基础字体:
yum install -y dejavu-sans-fonts dejavu-serif-fonts dejavu-sans-mono-fonts
2. 重建fontconfig缓存
安装字体后,执行命令刷新缓存,让系统识别新安装的字体:
fc-cache -fv
3. 带参数重新启动Jenkins
确保启动命令同时包含headless参数,示例:
java -Djava.awt.headless=true -jar jenkins.war
4. 降级JDK版本(备选)
OpenJDK 21与RHEL 6.10的旧版fontconfig(2.8.0)存在兼容性问题,若上述方法无效,可尝试降级到OpenJDK 11或8,这两个版本对旧系统的适配性更好。
内容的提问来源于stack exchange,提问作者Jigar Shah
相关产品推荐
相关产品推荐

