我正在使用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&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我从来没有遇到过这个问题。
所以问题是,如何让插件在运行分析之前在声纳服务器中创建项目?
答案 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
就足够了