gradle、sonarqube 和 jacoco 插件的哪些版本兼容

Posted

技术标签:

【中文标题】gradle、sonarqube 和 jacoco 插件的哪些版本兼容【英文标题】:which versions of gradle, sonarqube and jacoco plugins are compatible 【发布时间】:2017-01-01 15:22:15 【问题描述】:

我正在建立一个新的多模块 gradle 项目以在 jenkins 中构建并试图让 sonarqube 对其进行分析,但我遇到了几个我无法解决的不兼容问题。

我正在考虑使用

    sonarqube 插件,因为我们现有的项目收到关于 sonar-runner 弃用的警告: 'sonar-runner' 插件已被弃用,并计划在 Gradle 3.0 中删除。请使用 SonarQube (the docs) 的官方插件。 等级3 这个简单的例子来自 sonarqube https://github.com/SonarSource/sonar-examples/blob/master/projects/languages/java/gradle/java-gradle-simple/build.gradle

如果我使用 gradle 3,我会收到以下错误:org.gradle.internal.jvm.Jvm.getRuntimeJar()Ljava/io/File;

如果我使用 gradle 2.14,我会收到此错误: 原因:java.io.IOException:不兼容版本 1007 过去这个错误是由 jacoco 和 sonarqube 插件之间的不兼容引起的,请参阅JaCoCo SonarQube incompatible version 1007。

我应该使用哪些版本?

【问题讨论】:

您找到解决方法了吗?我也面临同样的问题 @BigDong ,stephen,有关于兼容版本的更新吗? 【参考方案1】:

仅供参考,SonarQube Scanner for Gradle 2.1 的发布应该很快就会发生,这个版本包括对 Gradle 3.X 的支持。请参阅 https://jira.sonarsource.com/browse/SONARGRADL-16 已修复。

【讨论】:

【参考方案2】:

你并不孤单。我也遇到同样的问题。这适用于 gradle 2.12。

plugins 
    id 'jacoco'
    id 'java'
    id "org.sonarqube" version "2.0.1"

【讨论】:

我已经尝试过使用 gradle 2.12 但仍然得到错误原因:java.io.IOException: Incompatible version 1007. .... $ ./gradlew -version -------- -------------------------------------------------- -- Gradle 2.12

以上是关于gradle、sonarqube 和 jacoco 插件的哪些版本兼容的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sonarrunner 和 Gradle 从 Jacoco 报告中排除包

gradle+sonarqube方式

gradle+sonarqube+scanner方式

使用Sonarrunner和Gradle从Jacoco报告中排除软件包

Jacoco 不生成 xml 文件

Android - Jacoco 无法正确生成 xml 报告(已解决)