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

Jenkins升级至2.426.3后无法保存系统配置的问题求助

解决Jenkins迁移后保存系统配置失败的问题

问题描述

从EC2部署的Jenkins 2.346.2迁移至Docker容器的2.426.3版本,已复制作业数据、插件目录并更新所有插件,但修改系统配置中的Jenkins URL时无法保存,报错日志如下:

2024-03-14 18:32:45.045+0000 [id=30]    WARNING o.e.j.s.h.ContextHandler$Context#log: Error while serving http://jenkins-stag.mgmt.dev.appzen.com/manage/configSubmit
java.lang.IllegalArgumentException: The frontend sent an unexpected list of classes (["org.jenkins_ci.plugins.any_buildstep.builder.BuilderLister","org.jenkinsci.plugins.conditionalbuildstep.lister.DefaultBuilderDescriptorLister"]) rather than an expected single class. See https://www.jenkins.io/doc/developer/views/table-to-div-migration/ for more information.
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:750)
Caused: java.lang.IllegalArgumentException: Failed to instantiate interface org.jenkinsci.plugins.conditionalbuildstep.lister.BuilderDescriptorLister from {"stapler-class":["org.jenkins_ci.plugins.any_buildstep.builder.BuilderLister","org.jenkinsci.plugins.conditionalbuildstep.lister.DefaultBuilderDescriptorLister"],"$class":["org.jenkins_ci.plugins.any_buildstep.builder.BuilderLister","org.jenkinsci.plugins.conditionalbuildstep.lister.DefaultBuilderDescriptorLister"]}
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:771)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:551)
    at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:877)
Caused: java.lang.IllegalArgumentException: Failed to convert the builderLister parameter of the constructor public org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder$SingleConditionalBuilderDescriptor(org.jenkinsci.plugins.conditionalbuildstep.lister.BuilderDescriptorLister)
    at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:879)
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:768)
Caused: java.lang.IllegalArgumentException: Failed to instantiate class org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder$SingleConditionalBuilderDescriptor from {"":"0","builderLister":{"stapler-class":["org.jenkins_ci.plugins.any_buildstep.builder.BuilderLister","org.jenkinsci.plugins.conditionalbuildstep.lister.DefaultBuilderDescriptorLister"],"$class":["org.jenkins_ci.plugins.any_buildstep.builder.BuilderLister","org.jenkinsci.plugins.conditionalbuildstep.lister.DefaultBuilderDescriptorLister"]}}
    at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:771)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:551)
    at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:546)
    at org.jenkinsci.plugins.conditionalbuildstep.singlestep.SingleConditionalBuilder$SingleConditionalBuilderDescriptor.configure(SingleConditionalBuilder.java:146)
    at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:4097)
    at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:4061)
    at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
    at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:397)
Caused: java.lang.reflect.InvocationTargetException

解决方案

  • 定位冲突根源:错误由conditionalbuildstep和any-buildstep插件的BuilderLister实现冲突导致,新版本Jenkins的Stapler组件要求单个类实例,而前端提交了两个类的列表。
  • 卸载冲突插件:进入Jenkins插件管理页面,找到any-buildstep插件并卸载,完成后重启Jenkins容器。
  • 适配目标版本:检查conditionalbuildstep插件版本,确保安装的是适配Jenkins 2.426.3的最新稳定版,若版本过低则更新后重启。
  • 清理配置残留(可选):若卸载插件后仍无法保存,进入Docker容器内的Jenkins配置目录(默认/var/jenkins_home),打开config.xml文件,搜索并删除包含builderLister的冲突配置段,保存后重启容器。
  • 重新尝试保存:完成上述操作后,再次进入系统配置页面修改Jenkins URL,提交保存即可。

内容的提问来源于stack exchange,提问作者Swapnil Jadhav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 04:25:00