詹金斯 - maven - 声纳3.7

时间:2013-09-13 15:34:23

标签: maven jenkins sonarqube

我们有

Jenkins 1.513 - Maven 3.0.5 - Sonar 3.5

我们项目的组合设置。

将Sonar升级到版本3.7后,我在所有项目中都收到以下错误:

[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project RC: Can not execute SonarQube analysis: Unable to execute Sonar: Task null does not exist -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project RC: Can not execute SonarQube analysis
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
...
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute SonarQube analysis
    at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:109)
    at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:67)
    at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:109)
...
Caused by: org.sonar.api.utils.SonarException: Task null does not exist
    at org.sonar.batch.bootstrap.TaskContainer.doAfterStart(TaskContainer.java:78)
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:88)
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:73)

现在,我知道这是一个NullPointerException,但我无法找到什么/在哪里做才能让事情再次发挥作用。

任何想法都将受到赞赏:)

谢谢你, 玛丽安

1 个答案:

答案 0 :(得分:0)

好的,显然这个错误是人类:

我应该明白,不只是阅读这一特定的一行:

  

如果出于任何原因,必须更改(将SonarQube分发移动到另一个目录,生成WAR并将其部署到不同的计算机上等),请将SONAR_HOME环境变量设置为新路径。

来自

Deploying SonarQube on Tomcat文档。

由于我正在进行升级,我现在还不想删除Sonar的旧安装,所以我在sonar-3.7中安装了新版本而没有更新指向/ sonar文件夹(doh)的$ SONAR_HOME变量

我在初次发布后发现,只有在Tomcat中将SonarQube作为webapp运行时才会出现上述错误。在独立模式下,它运行正常。

也许这就是为什么这样说的原因之一:

  

请注意,Tomcat的支持将在SonarQube 4.1版中删除。   因此,强烈建议坚持使用独立模式,不要在Tomcat上部署SonarQube。

在提到的页面上。

更容易让应用程序更加愚蠢地证明“不要那样做”而不是修复自己的NullPointerExceptions。这种方法唯一的风险是愚蠢的人必须明白他在读什么。