Sonarqube gradle分析项目,根项目中找不到任务

时间:2018-03-15 10:49:26

标签: gradle sonarqube

使用此命令分析项目

.\gradlew sonarqube \   -Dsonar.host.url=http://my.url \   -Dsonar.login=login --stacktrace

获取此错误

  

org.gradle.execution.TaskSelectionException:在根项目'JavaLint'中找不到任务'\'

这是我的gradle文件

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

apply plugin: 'application'
apply plugin: 'java'
apply plugin: 'eclipse'
archivesBaseName = 'JavaLint'
version = '0.1-SNAPSHOT' 
mainClassName = 'Main'

repositories {
    mavenCentral()
}

jar {
    manifest {
        attributes 'Main-Class': 'com.test.Run'
    }
}

sourceSets {
    main {
        java {
            srcDirs 'src'
        }
    }
 }

dependencies {
    compile group: 'commons-io', name: 'commons-io', version: '2.6'
    compile group: 'commons-lang', name: 'commons-lang', version: '2.6'
    compile group: 'org.jsoup', name: 'jsoup', version: '1.11.2'
    compile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'log4j', name: 'log4j', version: '1.2.16'
}

堆栈跟踪 stacktrace

我不明白我应该怎么做。

3 个答案:

答案 0 :(得分:2)

您似乎正在使用cmder(太漂亮了),这意味着您使用的是Windows。对于Windows,您需要按如下所示为gradle提供参数

./gradlew sonarqube -D "sonar.projectKey=<your_project_name>" -D "sonar.host.url=http://localhost:9000" -D "sonar.login=<your_project_token>"

答案 1 :(得分:0)

像在Windows Terminal中那样使用它: 。\ gradlew sonarqube -Dsonar.host.url = http://my.url -Dsonar.login = login --stacktrace

之后,您将在SonarQube服务器中找到该项目。

答案 2 :(得分:0)

感谢上面@ka whoyour 接受的答案,我也得到了答案。

好吧,详细说说我在 Android Studio 中为 Android 项目所做的工作以及我的想法。

从声纳仪表板生成的命令来看,是

./gradlew sonarqube \-Dsonar.projectKey=LetsGo \-Dsonar.host.url=http://localhost:9000 \-Dsonar.login=53689e9ceab73b3e8a76007d7953af3e9e2b2052

但是,对于 Windows 机器,它实际上应该是: gradlew sonarqube -Dsonar.projectKey=LetsGo -Dsonar.host.url=http://localhost:9000 -Dsonar.login=53689e9ceab73b3e8a76007d7953af3e9e2b2052

这对我来说就像一个魅力。

注意 Windows 机器上不需要的向后斜线 \

此外,./gradlew 可在 mac 上运行,gradlew 可在 Windows 上运行