来自com.cloudbees.jenkins.plugins.license的NullPointerException

时间:2012-11-29 10:32:53

标签: jenkins jenkins-plugins cloudbees

使用ubuntu软件包在ubuntu上升级我的jenkins安装后,我收到了cloudbees许可插件的错误。

java.lang.NullPointerException
at com.cloudbees.jenkins.plugins.license.BootHook.innerOnLoaded(BootHook.java:59)
at com.cloudbees.jenkins.plugins.license.BootHook.onLoaded(BootHook.java:49)
at jenkins.model.Jenkins.<init>(Jenkins.java:845)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.model.Hudson.<init>(Hudson.java:77)
at hudson.WebAppMain$2.run(WebAppMain.java:214)

我的jenkins版本是1.492

如果我禁用插件,那可行,但我看不到文件夹中的某个项目。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

核心的变化影响了插件。

简而言之,核心中的Bouncy Castle版本与插件之间存在冲突。由于插件必须支持各种Jenkins版本,它包含一个版本的Bouncy Castle,并要求将其加载到一个独立的类加载器中...在某些情况下,核心将在查找扩展时以不同方式解析类加载器,并且扩展可以最终解析不同版本的Bouncy Castle ...导致扩展(free-license-plugin)无法找到,以及相应的NPE。

我们在1.490发布后的几天内解决了这个问题。该修复程序位于cloudbees-license 3.5和free-license 3.2(也在nectar-license 3.3中 - 但只有在运行任何Jenkins Enterprise插件时才有意义)

要使一个borked系统恢复工作,这是一系列要遵循的步骤:

  1. 停止Jenkins(如果你还没有)
  2. 删除以下目录$JENKINS_HOME/plugins/cloudbees-license$JENKINS_HOME/plugins/free-license,如果有$JENKINS_HOME/plugins/nectar-license
  3. 删除以下文件$JENKINS_HOME/plugins/cloudbees-license.hpi$JENKINS_HOME/plugins/cloudbees-license.jpi$JENKINS_HOME/plugins/free-license.hpi$JENKINS_HOME/plugins/cloudbees-license.jpi,如果有$JENKINS_HOME/plugins/nectar-license.hpi$JENKINS_HOME/plugins/nectar-license.jpi注意:通常只有.hpi .jpi文件存在。具体取决于您下载插件时安装的Jenkins版本原来。哪个没关系。
  4. 下载您删除的插件的最新版本:(注意:仅在步骤2和3中删除时才下载nectar-license插件)

    您是否将.hpi重命名为.jpi取决于您。 Jenkins会以任何方式提取它,但为了获得更长期的兼容性,我建议将它们重命名为.jpi扩展名。

  5. 启动Jenkins

  6. 执行funky-chicken dance