如何以干净的方式删除LIB项目?

时间:2014-08-05 09:24:11

标签: sonarqube

给出两个资源键:

  • A1:groupid:artifactid:trunk
  • A2:groupid:artifactid

当我尝试通过SonarQube的更新密钥功能将A1重命名为A2时,我收到一条消息,指出无法重命名密钥A1,因为密钥A2"是现有资源的密钥&# 34。

看了一下数据库的内容后,似乎A2存在于"项目"表格如下:

[1]
    0:  {
        id: "114499"
        k: "groupid:artifactid"
        nm: "groupid:artifactid"
        sc: "PRJ"
        qu: "LIB"
    }

我想我遇到的问题是由于SonarQube处理依赖关系的方式:分析时,A1已经注册了"分支"在其名称(和TRK限定符)中,当分析另一个项目时,他的依赖项不包含分支信息,因此注册了对A2的依赖,而不是A1。由于SonarQube无法找到A2作为项目(TRK限定符),因此它在其数据库中创建A2作为具有LIB限定符的新项目。因此,我不能将A1重命名为A2,因为A2已经存在。

我试图通过/ api / projects webservice删除A2,但是我收到以下错误,这让我觉得webservice无法处理LIB项目:

{
    err_code: 400
    err_msg: "Not valid project"
}

问题:

如何以干净的方式删除所有不需要的" LIB"项目(即删除SonarQube数据库中可能正在使用它们的所有其他行)?

非常感谢您的帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我今天遇到了完全相同的问题。我无法在任何地方找到该项目,所以我最终打开了数据库。

在表格'项目'在您的声纳数据库中,列出了所有项目。我搜索了这个项目,并更新了“' kee'列值到使用的名称。 (A2-> A21)

我所做的并不是解决问题,而是解决了这个问题。我不建议在生产系统上这样做,因为我不知道它可能对数据完整性产生什么影响。