33

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

4

4 回答 4

44

使用较新的 SonarQube 安装,您可以使用sonar.cpd.exclusions仅从重复检查中排除某些文件。请参阅:https ://docs.sonarqube.org/display/SONAR/Analysis+Parameters

例子:

sonar.cpd.exclusions=**/AssemblyInfo.cs,**/*.g.cs,**/Mappings/*.cs
于 2017-03-08T07:55:33.857 回答
7

您可以使用标准的“sonar.exclusions”参数排除资源,或使用关闭违规插件排除“重复代码”违规。

请注意,第二个选项(使用关闭插件)仅在您使用嵌入了“sqale-java:DuplicatedBlocksCheck”规则的SQALE 插件时才有效。

于 2012-06-18T09:54:14.467 回答
0

您可以将这些文件添加到pom.xml的属性中:

这是从代码覆盖率中排除的:

<sonarcube.coverage.exclusions>
  your file paths
</sonarcube.coverage.exclusions>

这是为了排除代码重复:

<sonarcube.cpd.exclusions>
  your file paths
</sonarcube.cpd.exclusions>
于 2020-10-08T12:21:25.843 回答
0

对我来说,它的工作原理:

<sonar.cpd.exclusions>
  com.simulate.java.dto\**
<\sonar.cpd.exclusions>

我有这样的多模块java项目:

- parent
--  project-a
--  project-b
--  project-c

在我放置的标签内的父项目的 pom.xml 中<properties>

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>

        <sonar.cpd.exclusions>
                com.simulate.java.vo\**,
                com.simulate.java.dto\**
        <\sonar.cpd.exclusions>
<\properties>

就这样。我希望我对你有所帮助。

于 2021-10-22T01:51:31.730 回答