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

Posted

技术标签:

【中文标题】未找到 ID 为“org.sonarqube”的插件【英文标题】:Plugin with id 'org.sonarqube' not found 【发布时间】:2017-12-20 22:15:04 【问题描述】:

我正在尝试使用 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
 

【问题讨论】:

【参考方案1】:

就像'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' 应该可以正常工作了。

【讨论】:

【参考方案2】:

就我而言,它看起来像:

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

【讨论】:

以上是关于未找到 ID 为“org.sonarqube”的插件的主要内容,如果未能解决你的问题,请参考以下文章

Sonarqube 未显示 Android Lint 的结果

使用Gradle的Sonarqube 8的Jacoco代码覆盖率。

未找到 ID 为“gwt”的插件

org.sonarqube.ws.client.HttpException:错误 401

未找到 ID 为“org.springframework.boot”的插件

错误:(2, 0) 未找到 ID 为“jetty”的插件