无法使用相同的ID运行两个项目的SonarQube分析?

时间:2015-11-24 05:17:51

标签: sonarqube sonarqube-4.5

我的情况就像我有两个项目。 对于一个项目,我成功地运行了分析。第二个项目是新的,它完全使用代码和相同的结构和项目1的相同模块,我们可以说它是项目1的扩展。当我运行代码分析时,它说模块已经是项目1的一部分

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7.1:sonar
         (default-cli) on project citi-sgp-au:
         Module "com.xxxx.xxxx:xxxxxx" is already part of project "xxxx-xxx-xxx222"
         -> [Help 1]

对此有何指导?

2 个答案:

答案 0 :(得分:1)

SonarQube无法分析具有相同ID的2个不同项目(例如groupIdartifactId)。

您可以更改两个项目之一的ID或使用sonar.branch属性。

来自SonarQube Wiki

  

sonar.branch - 管理SCM分支机构。同一个项目的两个分支是   被认为是SonarQube的不同项目。作为结果   在分支B1中的项目A中发现的问题与问题无关   在B2分支中找到了这个项目A.目前,没有办法   当它们在B1中被解析时,自动解决B2的问题   再次A-B1& A-B2被视为独立项目。

答案 1 :(得分:0)

因为您使用相同的代码和相同的结构,我假设两个项目的模块最终具有相同的密钥。在SonarQube中,不可能有一个属于多个项目的模块。

因此,解决方案是确保第二个项目的模块具有唯一键。

注意:如果您正在使用Maven,这非常简单:只需确保您的第二个项目有不同的groupId。