org.sonar.api.utils.SonarException:项目反应器的验证失败

时间:2013-08-15 21:23:51

标签: gradle sonarqube sonar-runner

我正在尝试使用gradle项目设置SonarQube。

我已经启动了当地的声纳过程:

C:\Dev\Sonar\sonar-3.7\bin\windows-x86-64>StartSonar.bat
wrapper  | --> Wrapper Started as Console
wrapper  | Launching a JVM...
jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
jvm 1    |
jvm 1    | 2013-08-15 15:44:56.847:INFO:oejs.Server:jetty-7.6.11.v20130520
jvm 1    | JRuby limited openssl loaded. http://jruby.org/openssl
jvm 1    | gem install jruby-openssl for full support.
jvm 1    | 2013-08-15 15:45:27.198:INFO:oejsh.ContextHandler:started o.e.j.w.Web
AppContext{/,file:/C:/Dev/Sonar/sonar-3.7/war/sonar-server/},file:/C:/Dev/Sonar/
sonar-3.7/war/sonar-server
jvm 1    | 2013-08-15 15:45:27.261:INFO:oejs.AbstractConnector:Started SelectCha
nnelConnector@0.0.0.0:9000

我已经应用了Sonar插件:apply plugin: "sonar-runner"

当我执行Gradle Sonar任务时,我看到了这个错误:

gradle sonarRunner

...

* What went wrong:
Execution failed for task ':shared:sonarRunner'.
> org.sonar.api.utils.SonarException: Validation of project reactor failed:
  o root[mod_EricFrancis2]:shared is not a valid project or module key

有没有人对如何修复此错误有任何想法?这可能是一个记忆问题吗?

1 个答案:

答案 0 :(得分:1)

显然,您的Gradle项目组或名称包含空格。此值将成为Sonar项目键的默认值的一部分,该值不得包含空格。要解决此问题,您可以重新配置Gradle项目组或名称(无论如何更安全,不要在那里有空格),或者为应用sonar-runner插件的项目重新配置Sonar项目密钥。后者可能如下所示:

sonarProperties {
    property "sonar.projectKey", "foo:shared"
}

如果罪犯是Gradle项目名称(而不是组),您可能还需要重新配置"sonar.projectName"