禁用实体,DTO包上的声纳重复

时间:2012-06-18 08:22:33

标签: java static-analysis sonarqube

有没有办法在Sonar中禁用选定软件包中的某些指标?我使用Sonar来分析我的项目,在Entity和DTO包中我有一些相同的代码 - 带有注释的相同字段ID等被Sonar报告为重复。它绝对没有意义,所以我想禁用它。我怎样才能做到这一点?使用全局排除选项会禁用所选包上的所有指标,但如何仅为代码重复执行此操作?

3 个答案:

答案 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>