You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins从2.319.3.4升级到2.462.1.3失败,报NoClassDefFoundError错误

CloudBees Jenkins升级后java.lang.NoClassDefFoundError问题解决方法

问题场景

在RHEL系统上将CloudBees Jenkins从2.319.3.4版本升级至2.462.1.3版本后,启动时触发以下错误导致系统无法正常加载:

java.lang.NoClassDefFoundError: jenkins/security/QueueItemAuthenticatorMonitor
    at PluginClassLoader for cloudbees-administrative-monitors//com.cloudbees.jenkins.plugins.administrative_monitors.CloudbeesAdministrativeMonitorExtensionFilter.allows(CloudbeesAdministrativeMonitorExtensionFilter.java:26)
    at jenkins.ExtensionFilter.isAllowed(ExtensionFilter.java:81)
    at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:363)
    at hudson.ExtensionList.load(ExtensionList.java:384)
    at hudson.ExtensionList.ensureLoaded(ExtensionList.java:320)
    at hudson.ExtensionList.iterator(ExtensionList.java:172)
    at jenkins.model.Jenkins.launchTcpSlaveAgentListener(Jenkins.java:1355)
    at jenkins.model.Jenkins.<init>(Jenkins.java:1020)
    at hudson.model.Hudson.<init>(Hudson.java:86)
    at hudson.model.Hudson.<init>(Hudson.java:82)
    at hudson.WebAppMain$3.run(WebAppMain.java:248)
Caused: hudson.util.HudsonFailedToLoad
    at hudson.WebAppMain$3.run(WebAppMain.java:262)

问题原因

核心原因是cloudbees-administrative-monitors插件与升级后的Jenkins核心版本不兼容:插件代码中依赖的QueueItemAuthenticatorMonitor类在新核心版本中已被移除、重命名,或者插件版本未同步更新适配新核心。

解决步骤

方法1:移除不兼容插件后重新适配

  1. 停止Jenkins服务:
    sudo systemctl stop jenkins
    
  2. 进入Jenkins默认插件目录:
    cd /var/lib/jenkins/plugins
    
  3. 删除或备份cloudbees-administrative-monitors相关文件及目录:
    # 直接删除
    rm -rf cloudbees-administrative-monitors*
    # 或备份后删除
    # mv cloudbees-administrative-monitors.hpi cloudbees-administrative-monitors.hpi.bak
    # mv cloudbees-administrative-monitors cloudbees-administrative-monitors.bak
    
  4. 重启Jenkins服务:
    sudo systemctl start jenkins
    
  5. 登录Jenkins后,进入插件管理页面,搜索并安装适配2.462.1.3版本的cloudbees-administrative-monitors插件。

方法2:确保核心升级完整性

若方法1无效,可能是Jenkins核心升级不完整:

  1. 下载对应版本的CloudBees Jenkins WAR包(2.462.1.3)
  2. 停止服务并替换原WAR包(默认路径为/usr/lib/jenkins/jenkins.war):
    sudo systemctl stop jenkins
    sudo cp /path/to/cloudbees-jenkins-2.462.1.3.war /usr/lib/jenkins/jenkins.war
    
  3. 清理工作目录(提前备份配置、构建记录等重要数据):
    sudo rm -rf /var/lib/jenkins/work/*
    
  4. 重启Jenkins,再按方法1处理插件兼容性问题。

方法3:批量排查插件兼容性

升级前未做兼容性检查的话,可强制启动系统后批量处理:

  • 启动Jenkins时添加参数:-Djenkins.install.runSetupWizard=false -Djenkins.pluginManager.failOnError=false,跳过插件加载错误进入系统
  • 进入插件管理-已安装页面,逐一升级所有标记为"不兼容"的插件,重点关注CloudBees专属插件

内容的提问来源于stack exchange,提问作者Dev Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 18:22:32