SonarQube 错误:组件密钥长度超过授权的最大长度

Posted

技术标签:

【中文标题】SonarQube 错误:组件密钥长度超过授权的最大长度【英文标题】:SonarQube error: Component key length is longer than the maximum authorized 【发布时间】:2017-04-30 03:47:07 【问题描述】:

我在 SonarQube 6.1 上遇到此错误

请注意:我不能缩短项目密钥,因为我对组织的命名约定没有权力,我们的工作是维护平台。我知道该名称可以缩短,但我正在寻找一种解决方法(即字段长度的 ALTER 表?如果是,哪个以及如何?)

“java.lang.IllegalArgumentException:组件密钥长度(401)比最大授权长度(400)长”

kee 确实超过了允许的 400 个字符,但我无法控制命名约定,因为我们管理构建系统。

也就是说,我正在寻找解决此错误的解决方法。有什么猜测吗?

【问题讨论】:

【参考方案1】:

我建议缩短项目密钥:

SonarQube documentation 重命名 SonarQube 中的键 使用 sonar.projectKey 属性和新的缩短键启动分析

【讨论】:

嗨@teryk,如果我不能缩短项目名称怎么办?任何 ALTER 表都可以使用吗? 我不确定我是否理解。您是否拥有 SonarQube 的管理员权限?负责构建团队吗?然后您只能在 SonarQube 中更改项目密钥。我一定遗漏了一些我不建议直接更改数据库的东西。下一次分析,SonarQube 不会将项目识别为同一个项目。 我是声纳管理员。我不负责构建团队。他们有带有 sonar-maven-plugin 的 maven,它使用 IBM Rational Build Forge 调用我们的 sonarqube 实例,并将项目密钥名称作为分析参数传递,所以我无法控制它的长名称。我们是审计办公室的一部分。如果我在声纳中更改项目密钥,当他们再次调用下一个分析并传递相同的长名称时会发生什么? 它将创建一个新项目。 Sonar 依靠项目密钥来检测项目是否已经存在。 400 个字符是一个很长的密钥。要求他们在调用 sonarqube 实例并使用 sonar.projectKey 参数覆盖 maven 键时更改项目键。不要忘记先在 SonarQube 中重命名,以免丢失项目的历史 抱歉,我无法更改命名约定。我可以发出任何“ALTER 表”来尝试解决这个问题吗?

以上是关于SonarQube 错误:组件密钥长度超过授权的最大长度的主要内容,如果未能解决你的问题,请参考以下文章

SonarQube API:具有包含字符串的密钥的项目

SonarQube Azure Devops 未授权

缺少必需的参数:/ key:[Sonarqube项目密钥]

如何在Sonarqube中重命名项目

Sonarqube 无法加载组件

SonarQube API - 所有组件/项目的多个指标