【问题标题】:Sonarqube gradle analyzing project, task not found in root projectSonarqube gradle 分析项目,在根项目中找不到任务
【发布时间】:2018-08-24 03:32:05
【问题描述】:

使用此命令分析项目

.\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'
}

堆栈跟踪

我不明白我应该用它做什么。

【问题讨论】:

  • 你对.\gradlew sonarqube \ 中的\的意图是什么?
  • 我只是在使用windows,添加堆栈跟踪以获取更多信息
  • 您的错误信息似乎与\ 直接相关

标签: gradle sonarqube


【解决方案1】:

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

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

从 Sonar Dashbaord 生成的命令来看,是

./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 上工作

【讨论】:

  • 另请注意,使用 PowerShell 时,您需要将 java 属性放在引号中,例如gradlew sonarqube "-Dsonar.projectKey=LetsGo" "-D..."
【解决方案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>"

【讨论】:

    【解决方案3】:

    在 windows 终端中像这样使用它: .\gradlew sonarqube -Dsonar.host.url=http://my.url -Dsonar.login=login --stacktrace

    之后,您会发现该项目已经在 SonarQube 服务器中了。

    【讨论】:

    • 感谢您的帮助。我在下面用更通俗的语言提到了我的错误!
    猜你喜欢
    • 2018-05-16
    • 2017-05-02
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 2017-08-17
    相关资源
    最近更新 更多