【问题标题】:Unable to run SonarQube analysis of two projects with the same ids?无法对具有相同 ID 的两个项目运行 SonarQube 分析?
【发布时间】:2016-02-26 10:32:28
【问题描述】:
我有一个情况,比如我有两个项目。
对于一个项目,我能够成功地运行分析。第二个项目是新项目,它完全使用项目 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]
对此有何指导?
【问题讨论】:
标签:
sonarqube
sonarqube-4.5
【解决方案1】:
SonarQube 无法分析 2 个具有相同 id 的不同项目(例如 groupId 和 artifactId)。
您可以更改两个项目之一的 id 或使用sonar.branch 属性。
来自SonarQube Wiki:
sonar.branch - 管理 SCM 分支。同一个项目的两个分支是
被认为是 SonarQube 中的不同项目。作为结果
在分支 B1 中的项目 A 中发现的问题未链接到问题
在分支 B2 中为该项目 A 找到。目前,没有办法
在 B1 中解决问题时自动解决 B2 的问题
再次将 A-B1 和 A-B2 视为单独的项目。
【解决方案2】:
因为您使用相同的代码和相同的结构,我假设两个项目的模块最终具有相同的键。在 SonarQube 中,不可能有一个模块属于多个项目。
因此,解决方案是确保您的第二个项目的模块具有唯一键。
注意:如果您使用的是 Maven,这非常简单:只需确保您的第二个项目具有不同的 groupId。