为什么删除的Maven模块不会从SonarQube中消失?

时间:2016-03-15 14:03:55

标签: maven module duplicates sonarqube sonarqube-web

我使用SonarQube分析两个Maven项目A和B,每个项目有几个模块(这里只显示一个):

projectA
`- someModule

projectB

由于我将someModule从项目A移动到项目B,我在分析过程中遇到这样的错误:

Module "myGroupId:someModule" is already part of project "myGroupId:projectA"

项目A显然不再包含'someModule'。在新的分析之后,它甚至不会显示为Sonar GUI中的组件,但它仍然列在“项目配置>”下面。更新密钥'。

如何在不删除整个项目的情况下删除这样一个过时的组件?

作为一种解决方法,我现在将关键'projectA:someModule'重命名为'projectA:someModuleThatShouldNotExist',但我希望有人能提出更好的解决方案......

2 个答案:

答案 0 :(得分:2)

您描述的状态很奇怪:如果您删除了" someModule"从项目A中成功分析了SonarQube中的这个项目,然后它不再显示在UI中,您应该能够在项目B中对其进行分析。

但正如你可以在项目配置>中看到这个模块。更新密钥',然后您可能有一个解决方法:

  1. 更新项目A中该模块的密钥(例如,只需附加" -off"到密钥)
  2. 使用" someModule"运行项目B的分析:这应该有效

答案 1 :(得分:1)

已创建的链接问题已作为“无法解决”关闭,因此除了删除原始项目外,没有其他解决方案。

这真的很不幸,因为当您尝试分阶段拆分项目时需要删除原始项目,但又不更新,谁知道通过保留原始组/工件名称来知道有多少个依赖位置,则会导致对原始存储库的下一次扫描重新标记以前可能标记为“无法解决”或类似状态的问题,从而为声纳维护人员带来更多的噪音和工作。