sonar maven插件:无法扫描不存在的项目

时间:2014-10-27 18:07:12

标签: maven maven-plugin sonarqube

我正在使用sonarqube 4.5和sonar-maven-plugin 2.4版。当我运行maven sonar:sonar时,我收到以下错误Unable to scan non-existing project "Projectname"。我之前使用过sonarqube 4.2,我不记得遇到过这样的问题。在myven的settings.xml中,我有以下个人资料

<profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8</sonar.jdbc.url>
            <sonar.jdbc.username>username</sonar.jdbc.username>
            <sonar.jdbc.password>password</sonar.jdbc.password>
            <sonar.host.url>http://myserver:9000</sonar.host.url>
            <sonar.login>login</sonar.login>
            <sonar.password>password</sonar.password>
        </properties>
    </profile>

此用户具有以下全局权限;执行分析,执行预览分析和配置项目。 'Provision Projects'权限声明Ability to initialize project structure before first analysis.并且我想这会允许插件在分析之前在声纳服务器中创建项目。对于sonarqube版本4.2我从来没有遇到过这个问题。

所以问题是,如何让插件在运行分析之前在声纳服务器中创建项目?

3 个答案:

答案 0 :(得分:0)

如果您的声纳用户无权在声纳立方体中创建新项目,则会发生此错误。

答案 1 :(得分:0)

我通过将配置值更改为false(来自声纳仪表板)来修复此问题

设置 - &gt;防止自动创建项目= False

答案 2 :(得分:0)

具有管理员权限的用户需要登录Sonar。来自设置&gt;供应需要添加项目详细信息,如下所示:

1)密钥:这是您的pom文件中的<groupid>:<artifact id>。如果您计划从本地计算机重新使用同一项目,则将用户名附加到密钥。

<groupid>:<artifact id>:<username>

2)名称:这是pom文件中的<name>标记值。

完成此操作后,如果您运行:

mvn sonar:sonar -Dsonar.branch=$(whoami)

请注意,使用-Dsonar.branch = $(whoami)取决于您是否使用了用户名进行了配置

mvn sonar:sonar

就足够了