基于tomcat运行jenkins常见的报错处理

目录

1.jenkins.util.SystemProperties$Listener错误

升级jdk11可能遇到的坑

2.java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration

3.There were errors checking the update sites: UnknownHostException:updates.jenkins.io

1.jenkins.util.SystemProperties$Listener错误

[root@master tomcat-8.5.98]# tail -10f logs/localhost.2024-02-06.log

rg.apache.catalina.core.StandardContext.listenerStart 配置应用程序监听器[jenkins.util.SystemProperties$Listener]错误
    java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties$Listener has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (无法载入的类 [jenkins.util.SystemProperties$Listener])

 错误消息指出jenkins.util.SystemProperties$Listener类是由更高版本的Java Runtime编译的(类文件版本55.0),而当前运行环境的Java Runtime只识别到版本52.0的类文件。

类文件版本55.0对应于Java 11,而版本52.0对应于Java 8。这意味着Jenkins WAR文件是为Java 11或更高版本编译的,而你的Tomcat服务器是在Java 8或更低版本的环境下运行的。

 PS:当前系统为centos7,tomcat版本为8.5.98,jenkins的版本为2.426.3LTS,java8

可能单看tomcat服务的catalina.out日志看不出具体的问题,需要结合localhost日志排查

 解决办法:升级java环境至11版本,即升级jdk11

jdk11下载地址(根据系统选择安装包):Java Downloads | Oracle

升级jdk11可能遇到的坑

启动tomcat时直接报错:

The JRE_HOME environment variable is not defined correctly
JRE_HOME=/home/jdk11/jre
This environment variable is needed to run this program

这个错误消息表明系统中 JRE_HOME 环境变量没有被正确地定义。JRE_HOME 是一个环境变量,它指向 Java Runtime Environment (JRE) 的安装目录。当尝试运行某些 Java 程序或工具时,它们可能需要这个环境变量来找到正确的 JRE 安装位置。

PS:默认的jdk11目录下没有jre文件

[root@master ~]# cd /usr/local/jdk11/
[root@master jdk11]# ll -h
总用量 24K
drwxr-xr-x  2 root  root  4.0K 2月   6 11:04 bin
drwxr-xr-x  4 root  root   112 2月   6 11:04 conf
drwxr-xr-x  3 root  root   132 2月   6 11:04 include
drwxr-xr-x  2 root  root  4.0K 2月   6 11:04 jmods
drwxr-xr-x 72 root  root  4.0K 2月   6 11:04 legal
drwxr-xr-x  6 root  root  4.0K 2月   6 11:04 lib
drwxr-xr-x  3 root  root    18 2月   6 11:04 man
-r--r--r--  1 10668 10668  160 12月 20 06:09 README.html
-rw-r--r--  1 10668 10668 1.3K 12月 20 06:09 release
 

解决:进入jdk11目录下,执行如下命令:

./bin/jlink --module-path jmods --add-modules java.desktop --output jre

[root@master jdk11]# ll -h
total 24K
drwxr-xr-x  2 root  root  4.0K Feb  6 14:23 bin
drwxr-xr-x  4 root  root   112 Feb  6 14:23 conf
drwxr-xr-x  3 root  root   132 Feb  6 14:23 include
drwxr-xr-x  2 root  root  4.0K Feb  6 14:23 jmods

drwxr-xr-x  8 root  root    94 Feb  6 15:08 jre
drwxr-xr-x 72 root  root  4.0K Feb  6 14:23 legal
drwxr-xr-x  6 root  root  4.0K Feb  6 14:23 lib
drwxr-xr-x  3 root  root    18 Feb  6 14:23 man
-r--r--r--  1 10668 10668  160 Dec 20 06:09 README.html
-rw-r--r--  1 10668 10668 1.3K Dec 20 06:09 release

 

之后可在/etc/profile文件添加环境变量(根据实际情况添加):

export JAVA_HOME=/path/jdk11

export JRE_HOME=/path/jdk11/jre # 替换为实际的JRE路径

export PATH=$JRE_HOME/bin:$PATH

2.java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration

解决办法:

1.可以连接互联网的情况下

yum install -y fontconfig,再重新启动tomcat

2.无法连接互联网

找一台可以连接互联网的机器,仅下载fontconfig的rpm包及其依赖包

yumdownloader --resolve --destdir=/root/java/  fontconfig dejavu-sans-fonts fontpackages-filesystem libexpat.so.1 libfreetype.so.6 libuuid.so.1

下载好后,打包成tar包,上传到jenkins服务器上并解压安装(可能环境不同,所需的依赖包也不一致,根据提示安装即可),再重新启动tomcat后,可正常访问登入Jenkins

[root@maste java]# rz
[root@maste java]# rpm -ivh --force ./*.rpm

Preparing...                          ################################# [100%]
Updating / installing...
   1:fontpackages-filesystem-1.44-8.el################################# [ 10%]
   2:dejavu-fonts-common-2.33-6.el7   ################################# [ 20%]
   3:dejavu-sans-fonts-2.33-6.el7     ################################# [ 30%]
   4:libuuid-2.23.2-65.el7_9.1        ################################# [ 40%]
   5:libpng-2:1.5.13-8.el7            ################################# [ 50%]
   6:expat-2.1.0-15.el7_9             ################################# [ 60%]
   7:bzip2-libs-1.0.6-13.el7          ################################# [ 70%]
   8:freetype-2.8-14.el7_9.1          ################################# [ 80%]
   9:fontconfig-2.13.0-4.3.el7        ################################# [ 90%]
  10:fontconfig-2.13.0-4.3.el7        ################################# [100%]

3.There were errors checking the update sites: UnknownHostException:updates.jenkins.io

出现 "There were errors checking the update sites: UnknownHostException: updates.jenkins.io" 错误通常意味着 Jenkins 无法连接到 updates.jenkins.io,这可能是由于网络问题、DNS 解析问题、代理设置不正确、或者 updates.jenkins.io 暂时不可访问。

可能是你本地的网络环境无法访问外网

解决方法:

1.检查网络、DNS

2.更换Jenkins 更新站点配置,默认的jenkins更新站点是国外的,可能无法访问,可更换国内的更新站点,如:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

登入jenkins,点击 管理jenkins===》插件==》高级设置,替换升级站点的URL提交

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/462978.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

除夕快乐(前端小烟花)

家人们,新的一年好运常在,愿大家在新的一年里得偿所愿,发财暴富,愿大家找到属于自己的那个公主,下面就给大家展示一下给公主的烟花 前端烟花 新的一年,新的挑战,愿我们不忘初心,砥砺…

[Angular 基础] - 指令(directives)

[Angular 基础] - 指令(directives) 这里假设已经知道如何创建 Angular 组件以及数据绑定,不然可以参考前两篇笔记: [Angular 基础] - Angular 渲染过程 & 组件的创建 [Angular 基础] - 数据绑定(databinding) 就像中文翻译一样,dire…

MySQL进阶45讲【19】幻读是什么,幻读会产生什么问题?

1 前言 在MySQL进阶45讲【3】事务隔离的恩恩怨怨这篇文章中,我们有提到过幻读的概念,为了更好地介绍幻读,我们先创建一个表,并添加一些数据,建表和初始化语句如下: CREATE TABLE t ( id int(11) NOTNULL,…

MATLAB环境下一维时间序列信号的同步压缩小波包变换

时频分析相较于目前的时域、频域信号处理方法在分析时变信号方面,其主要优势在于可以同时提供时域和频域等多域信号信息,并清晰的刻画了频率随时间的变化规律,已被广泛用于医学工程、地震、雷达、生物及机械等领域。 线性时频分析方法是将信…

Blender教程(基础)--试图的显示模式-22

一、透视模式(AltZ) 透视模式下可以实现选中透视的物体信息 发现选中了透视区的所有顶点 二、试图着色模式-显示网格边框 三、试图着色模式-显示实体 三、试图着色模式-材质预览 四、试图着色模式-显示渲染预览

MySQL篇----第十七篇

系列文章目录 文章目录 系列文章目录前言一、对于关系型数据库而言,索引是相当重要的概念,请回答有关索引的几个问题二、解释 MySQL 外连接、内连接与自连接的区别三、Myql 中的事务回滚机制概述前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

redis的主从配置模拟(一主双从)

目录 先来给大家扩展机道面试官经常会问到关于redis的题 一、redis有哪些好处 二、redis相比memcached有哪些优势 三、redis常见性能问题和解决方案 四、redis集群的工作原理 五、redis主从的原理 redis的主从配置模拟(一主双从) 一、准备环境 …

Unity入门学习

目录 Unity环境搭建Unity引擎是什么软件下载和安装工程文件夹 Unity界面基础Scene场景和Hierarchy层级窗口Game游戏和Project工程Inspector和Console工具栏和父子关系 Unity工作原理反射机制和游戏场景预设体和资源包的导入导出 Unity脚本基础脚本基本规则生命周期函数Inspecto…

c语言中的模拟多态性

在C语言中模拟多态性 多态性是面向对象编程中的一个核心概念,它允许我们通过一个共同的接口来操作不同的数据类型。虽然C语言是一种过程式语言,本身不直接支持面向对象的特性,如继承、封装和多态,但我们可以通过一些技巧来模拟这些…

Leetcode—134. 加油站【中等】

2024每日刷题&#xff08;113&#xff09; Leetcode—134. 加油站 实现代码 class Solution { public:int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {int gasSum accumulate(gas.begin(), gas.end(), 0);int costSum accumulate(cost…

【精选】java继承进阶——继承的特点 this、super

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

【Java面试】数据类型常见面试题

什么是包装类型 将基本类型包装进了对象中得到的类型 基本类型和包装类型有什么区别 用途不同&#xff1a;基本类型一般用于局部变量&#xff0c;包装类型用于其他地方存储方式不同&#xff1a;用于局部变量的基本类型存在虚拟机栈中的局部变量表中&#xff0c;用于成员变量…