我最近尝试在Jenkins 1.546上安装Git userContent plugin。重新启动Jenkins后发生以下错误:
hudson.util.HudsonFailedToLoad: org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException
at hudson.WebAppMain$3.run(WebAppMain.java:234)
Caused by: org.jvnet.hudson.reactor.ReactorException: java.lang.Error: java.lang.reflect.InvocationTargetException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:269)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:44)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:908)
at jenkins.model.Jenkins.<init>(Jenkins.java:807)
at hudson.model.Hudson.<init>(Hudson.java:82)
at hudson.model.Hudson.<init>(Hudson.java:78)
at hudson.WebAppMain$3.run(WebAppMain.java:222)
Caused by: java.lang.Error: java.lang.reflect.InvocationTargetException
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:109)
at hudson.init.TaskMethodFinder$TaskImpl.run(TaskMethodFinder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:897)
at org.jvnet.hudson.reactor.Reactor$2.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)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at hudson.init.TaskMethodFinder.invoke(TaskMethodFinder.java:105)
... 8 more
Caused by: java.lang.NullPointerException
at hudson.plugins.git.GitSCM.onLoaded(GitSCM.java:1389)
... 13 more
我尝试通过 jenkins.war.bak 恢复Jenkins 1.544,但错误仍然存在。我不能再访问Jenkins了。有没有办法从中恢复,或者至少是一种不错的方式来重新安装Jenkins而不会丢失任何数据?
答案 0 :(得分:9)
在我的情况下,这是因为我选择了git-client.jpi和git-server.jpi文件进行安装,但在Jenkins插件管理器下载之前,下载卡在数据库插件下载中。我重新启动了Jenkins,我认为Jenkins误认为尚未下载的git插件已经下载了。
要解决此问题,只需导航到/var/lib/jenkins/plugins
并删除导致问题的jpi文件。重启詹金斯和你的问题将得到解决。
答案 1 :(得分:5)
当我从Jenkins禁用插件时,我遇到了同样的问题。
要删除此错误,我已删除部分禁用的插件,在我的情况下为credentials.jpi.disabled
遍历/var/lib/jenkins/plugins/
找到已禁用的文件,在我的例子中是credentials.jpi.disabled
并从插件目录中删除此文件。
重新启动Jenkins服务
服务jenkins重启
它有效!!