有什么方法可以在Sonar中禁用选定包中的某些指标吗?我使用Sonar来分析我的项目,在Entity和DTO包中,我有一些相同的代码-带有注解的相同字段ID,等被声纳报告为重复。它对我来说完全没有意义,所以我想禁用它。我如何才能实现这一点?使用全局排除选项会禁用所选软件包上的所有指标,但如何仅针对代码重复执行此操作?
hpxqektj1#
对我来说,它的作品:
<sonar.cpd.exclusions> com.simulate.java.dto\** <\sonar.cpd.exclusions>
我有多个模块的Java项目就像这样:
- parent -- project-a -- project-b -- project-c
在标签<properties>内父项目的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>
就这样。希望我帮到你了。
sr4lhrrt2#
您可以将这些文件添加到 pom.xml 中的属性:
此选项用于从代码覆盖范围中排除:
<sonar.coverage.exclusions> your file paths </sonar.coverage.exclusions>
此选项用于排除代码重复:
<sonar.cpd.exclusions> your file paths </sonar.cpd.exclusions>
fdbelqdn3#
使用较新的SonarQube安装,您可以使用sonar.cpd.exclusions仅从重复检查中排除某些文件。https://docs.sonarqube.org/latest/analysis/analysis-parameters/示例:
sonar.cpd.exclusions
sonar.cpd.exclusions=**/AssemblyInfo.cs,**/*.g.cs,**/Mappings/*.cs
xiozqbni4#
您可以使用标准"sonar.exclusions"参数排除资源,也可以使用Switch Off violation plugin排除“重复代码”冲突。注意,第二个选项(使用关闭插件)仅在使用SQALE plugin时有效,SQALE plugin嵌入了“sqale-java:DuplicatedBlocksCheck”规则。
4条答案
按热度按时间hpxqektj1#
对我来说,它的作品:
我有多个模块的Java项目就像这样:
在标签
<properties>
内父项目的pom.xml中,我放入:就这样。希望我帮到你了。
sr4lhrrt2#
您可以将这些文件添加到 pom.xml 中的属性:
此选项用于从代码覆盖范围中排除:
此选项用于排除代码重复:
fdbelqdn3#
使用较新的SonarQube安装,您可以使用
sonar.cpd.exclusions
仅从重复检查中排除某些文件。https://docs.sonarqube.org/latest/analysis/analysis-parameters/示例:
xiozqbni4#
您可以使用标准"sonar.exclusions"参数排除资源,也可以使用Switch Off violation plugin排除“重复代码”冲突。
注意,第二个选项(使用关闭插件)仅在使用SQALE plugin时有效,SQALE plugin嵌入了“sqale-java:DuplicatedBlocksCheck”规则。