有没有办法在Sonar中禁用选定软件包中的某些指标?我使用Sonar来分析我的项目,在Entity和DTO包中我有一些相同的代码 - 带有注释的相同字段ID等被Sonar报告为重复。它绝对没有意义,所以我想禁用它。我怎样才能做到这一点?使用全局排除选项会禁用所选包上的所有指标,但如何仅为代码重复执行此操作?
答案 0 :(得分:17)
使用较新的SonarQube安装,您可以使用sonar.cpd.exclusions
仅从重复检查中排除某些文件。
请参阅:https://docs.sonarqube.org/display/SONAR/Analysis+Parameters
示例:
sonar.cpd.exclusions=**/AssemblyInfo.cs,**/*.g.cs,**/Mappings/*.cs
答案 1 :(得分:4)
您可以使用标准"sonar.exclusions"参数排除资源,也可以使用Switch Off violation plugin排除“重复代码”违规行为。
请注意,第二个选项(使用关闭插件)仅在您使用嵌入“sqale-java:DuplicatedBlocksCheck”规则的SQALE plugin时才有效。
答案 2 :(得分:0)
您可以将这些文件添加到 pom.xml 中的属性中:
这是要排除在代码范围之外的内容:
<sonarcube.coverage.exclusions>
your file paths
</sonarcube.coverage.exclusions>
这是从代码重复中排除的内容:
<sonarcube.cpd.exclusions>
your file paths
</sonarcube.cpd.exclusions>