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