我们如何使用 hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.lang.NoSuchMethodError 重启 Jenkins 服务?

How can we restart Jenkins service with hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.lang.NoSuchMethodError?

Jenkins 无法执行基本的 windows 批处理命令,因此我们不得不通过 UI 重新启动 jenkins。重启 Jenkins 后,出现无法读取 config.xml 文件的错误,所以我们将 xml 版本从 1.1 更改为 1.0,但 Jenkins 仍然没有重启。我们现在应该如何进行下一步?

> ***hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException:
> java.lang.NoSuchMethodError:
> jenkins.model.Jenkins.get()Ljenkins/model/Jenkins;    at
> hudson.WebAppMain.run(WebAppMain.java:237) Caused by:
> org.jvnet.hudson.reactor.ReactorException:
> java.lang.NoSuchMethodError:
> jenkins.model.Jenkins.get()Ljenkins/model/Jenkins;    at
> org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269)    at
> jenkins.InitReactorRunner.run(InitReactorRunner.java:44)  at
> jenkins.model.Jenkins.executeReactor(Jenkins.java:1020)   at
> jenkins.model.Jenkins.<init>(Jenkins.java:864)    at
> hudson.model.Hudson.<init>(Hudson.java:85)    at
> hudson.model.Hudson.<init>(Hudson.java:81)    at
> hudson.WebAppMain.run(WebAppMain.java:225) Caused by:
> java.lang.NoSuchMethodError:
> jenkins.model.Jenkins.get()Ljenkins/model/Jenkins;    at
> hudson.plugins.jobConfigHistory.ComputerHistoryListener.onConfigurationChange(ComputerHistoryListener.java:52)
>   at
> hudson.model.AbstractCIBase.updateComputerList(AbstractCIBase.java:209)
>   at jenkins.model.Jenkins.updateComputerList(Jenkins.java:1349)  at
> jenkins.model.Nodes.run(Nodes.java:304)     at
> hudson.model.Queue._withLock(Queue.java:1312)     at
> hudson.model.Queue.withLock(Queue.java:1189)  at
> jenkins.model.Nodes.load(Nodes.java:295)  at
> jenkins.model.Jenkins.run(Jenkins.java:2798)   at
> org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
>   at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)   at
> jenkins.model.Jenkins.runTask(Jenkins.java:1009)    at
> org.jvnet.hudson.reactor.Reactor.run(Reactor.java:210)  at
> org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)   at
> java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)    at
> java.lang.Thread.run(Unknown Source)***

config.xml 文件中可能存在一些语法错误。 您可以通过 removing/moving 将较早的配置文件复制到其他位置来生成 config.xml 文件。
步骤:

  1. 停止詹金斯服务service jenkins stop
  2. 将存在于您 JENKINS_HOME 位置的 config.xml 文件删除到其他位置以进行备份。
  3. 启动jenkins服务service jenkins start

    再次启动 jenkins 后,将创建 config.xml 并且 jenkins 应该启动。
    编辑:
    如果这也不起作用,那么可能有一些插件也可能导致问题。您可以尝试备份您的插件文件夹,然后将其删除,然后重新启动 jenkins 服务和浏览器