我正试图通过sonar Web Service文档提取声纳代码覆盖率指标。
Sonarqube API单类测试覆盖率建议我应该将此模式用于我的目标类名称
https://[hostname]/api/resources?resource=com.a.b.c.d.om:[module-name]:com.a.b.c.d.e.mobile.XYZActionHandler&metrics=coverage,branch_coverage
但我发现,只有在资源名称中使用java源路径才能实现
https://[hostname]/api/resources?resource=com.a.b.c.d.om:[module-name]:src/main/java/com/a/b/c/d/e/actions/mobile/XYZActionHandler.java&metrics=coverage,branch_coverage
有人能解释为什么第一个URL失败而第二个URL有效吗?
这取决于您使用的SonarQube版本。
在最近的版本中(至少从上一个LTS开始,可能早到4.2),Java组件的密钥实际上是它的路径,而在旧版本中,它是它的完全限定名称(package.Class)。