【发布时间】:2015-04-16 17:46:44
【问题描述】:
我们正在使用最新版本 (5) 的 SonarQube 来分析我们的项目。我对它如何计算 Directory Tangle Index(以前的 Package Tangle Index)有一些疑问,我无法在其他任何地方找到答案。
为什么 SonarQube 需要访问类文件来计算缠结指数?该分析需要哪些 Java 文件中未包含的信息?
在指定上面的类文件位置时,为什么我们必须提供这么深的路径?我想指定“project.sonar.java.binaries=/path/bin/”而不是“...=/path/bin/com/company/project/a/b/”。我也可以使用“...=/path/bin/**/*.class”或其他通配符。为此,我是否需要为项目中的每个包指定单独的类文件位置?我们遇到的问题是,我们正试图通过自动化过程生成 SonarQube 配置文件,并且向下钻取以找到所有必要的路径是一个问题——当过程运行时,所需的信息不可用。
为什么,当我单击“Directory Tangle Index”链接时,会看到一个页面显示“没有可用于组件的 DSM 数据”?我在某处读到,对于复杂的项目,SonarQube 无法提供有关哪些目录被纠缠的信息。为什么不?还是我们只是为每个项目指定一个类文件路径,而不是列出所有单独的子目录?
缠结索引听起来很有趣,但如果我无法深入了解哪些包显示缠结,那么它对改进我们的代码没有多大帮助。
【问题讨论】:
-
能否请您准确说明您正在使用的 sonar-java-plugin 版本?