Jenkins:加载插件Jenkins SonarQube插件v2.5(声纳)失败/不支持major.minor版本52.0

时间:2016-10-27 11:24:05

标签: sonarqube jenkins-plugins sonarqube-scan

在我们在Windows服务器和JRE 7上运行的Jenkins中,我们安装了最新版本的SonarQube插件:2.5。

提示:我们需要JRE 7来运行Jenkins,因为另一个插件非常陈旧且不能与Java 8一起使用。

然后,当Jenkins启动时,记录了以下警告:

WARNING: Loading plugin Jenkins SonarQube Plugin v2.5 (sonar) failed perhaps due to plugin dependency issues
java.io.IOException: Unable to load hudson.plugins.sonar.SonarPlugin from sonar
    at hudson.ClassicPluginStrategy.load(ClassicPluginStrategy.java:514)
    at hudson.PluginManager$2$1$1.run(PluginManager.java:517)
    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$7.runTask(Jenkins.java:1026)
    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.UnsupportedClassVersionError: hudson/plugins/sonar/SonarPlugin : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)

Jenkins启动后,SonarQube插件在'插件管理器'/'已安装'中不可见。

我们将插件降级到版本2.4.4后,一切正常。

这是否意味着SonarQube插件v2.5要求Jenkins在JRE 8上运行?

或者可以用另一种方式解决这个问题吗?

更新:我试图通过将JAVA_HOME设置为Java 8文件夹来解决问题。不幸的是,它没有解决问题。

2 个答案:

答案 0 :(得分:2)

将Jenkins.xml和java可执行文件更新到\ Java \ jre1.8.0_112 \ bin \ java修复了我的问题。我正在使用Sonar Plugin 2.5运行SonarQube 6.1,Jenkins 2.27

答案 1 :(得分:0)

事实上,Jenkins的SonarQube扫描仪从版本1.5开始需要JDK 8。

我不确定Jenkins如何选择它将运行的JDK(可以依赖JAVA_HOME或使用PATH中的那个)但至少在我的Linux机器上我可以强制它使用特定的JDK使用JENKINS_JAVA_CMD进行安装(可以在/etc/sysconfig/jenkins中设置,也可以在环境变量中设置)。