未找到 id 为“org.sonarqube”的插件

问题描述 投票:0回答:5

我正在尝试使用 gradle 实现声纳,以测量我的项目的代码覆盖率。 我们正在使用 gradle-4.0.1 和 sonarqube-6.4 .

当我从命令行运行 gradle sonarqube 时,出现此错误 -

Plugin with id 'org.sonarqube' not found.

我尝试了一些代码更改,但没有成功,请帮助。 我的 build.gradle 文件如下 -

buildscript {
    ext {
        springBootVersion = '1.5.4.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'org.sonarqube'
apply plugin: "jacoco"
apply plugin: "java"
apply plugin: "war"
apply plugin: "org.springframework.boot"


sonarqube {
  properties {
    property "sonar.projectName","Spring4WebService Code Coverage Demo"
    property "sonar.projectKey", "org.sonarqubeJacocoCodeCoverage"
    property "sonar.reportPath" , "${project.buildDir}/jacoco/test.exec"
  }
}


test{
  ignoreFailures = true
}


ext {
    jacocoVersion = '0.7.6.201602180812'
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}


sourceSets {
  main.java.srcDir "src/main/java"
  test.java.srcDir "src/test/java"
}

springBoot {
  mainClass = "com.concretepage.config.WebAppInitializer"
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web','com.fasterxml.jackson.core:jackson-databind')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

jacoco{
  toolVersion = "${jacocoVersion}"
}

jacocoTestReport {
 reports{
  html.enabled=true
  xml.enabled=true
  csv.enabled=true
 }
}
spring-boot gradle sonarqube code-coverage jacoco
5个回答
40
投票

就像

'org.springframework.boot'
插件一样,
'org.sonarqube'
插件不属于 Gradle。它是第三方插件,因此您需要将其添加为
buildscript
依赖项:

buildscript {
    ext {
        springBootVersion = '1.5.4.RELEASE'
    }
    repositories {
        mavenCentral()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.5"
    }
}

现在

apply plugin: 'org.sonarqube'
应该可以正常工作了。


0
投票

就我而言,它看起来像:

plugins {
   id 'groovy'
   id 'application'
   id 'org.sonarqube' version '3.0'
}

repositories {
   mavenCentral()
}

sonarqube {
   properties {
      property "sonar.host.url", "http://sonarqube:9000"
      property "sonar.sources", "src"
   }
}

tasks['sonarqube'].dependsOn test

0
投票

在 build.gradle 的

id "org.sonarqube" version "3.5.0.2730"
部分使用指定完整版本的插件 DSL(例如,
id "org.sonarqube" version "3.5.0"
而不是
plugins
)为我解决了这个问题。

以下是插件 DSL 和遗留插件应用程序的示例:https://plugins.gradle.org/plugin/org.sonarqube


0
投票

1)使用插件 DSL:

plugins {
  id "org.sonarqube" version "4.0.0.2929"
}

或者,

2)使用旧版插件应用程序:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:4.0.0.2929"
  }
}

应用插件:“org.sonarqube”


0
投票

在项目根目录中添加 settings.gradle 文件后,我可以解决此问题

pluginManagement {
repositories {
    maven { url "<Repo_URL>" }
}

}

© www.soinside.com 2019 - 2024. All rights reserved.