2

我有一个想要使用 SonarQube 的 Java 7/Maven 3 项目。由于 Java 7,我必须使用 sonar-maven-plugin 3.0.2。尝试连接时出现 401 错误:

[错误] 无法执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin: 3.0.2:sonar (default-cli) on project XXX: Unable to execute SonarQube: 无法从服务器下载库:状态返回url [YYY/sonarqube/batch_bootstrap/index] 无效:[401] -> [Help 1]

maven 插件版本固定在 pom.xml 中,如下所示

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>sonar-maven-plugin</artifactId>
  <version>3.0.2</version>
</plugin>

我将设置放在 settings.xml 中,就像在 SonarQube 示例中一样:

 <pluginGroups>
    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
 </pluginGroups>
 <profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
             <sonar.host.url>YYY</sonar.host.url>
            <sonar.login>MYUSER</sonar.login>
            <sonar.password>MYPASSWORD</sonar.password>
        </properties>
    </profile>
 </profiles>

我尝试使用的 SonarQube 版本是 5.6。我错过了什么?为什么我不断收到此错误?我尝试了在我的机器上本地安装的旧版本(4.5.6)SonarQube,并且可以正常工作。我输入的凭据肯定适用于 Web 面板,并且系统配置为接受来自匿名用户的测试,尽管我目前正在尝试的用户是管理员。这真的是身份验证错误(例如,由于配置错误)还是 sonar-maven-plugin 3.0.2 无法与 SonarQube 5.6 通信?

4

1 回答 1

3

这里有两件事:

  • 首先,sonar-maven-plugin 3.0.2 不能与 SonarQube 5.6 一起使用
  • 其次,SonarQube 5.6+ 需要 Java 8。

因此,使用您喜欢的任何方式编译您的项目,但取消固定插件版本并使用 Java 8 运行分析。

于 2016-12-12T19:54:42.387 回答