Sonarqube duplicated blocks of code must be remove

本文介绍如何解决Sonarqube中代码重复的问题,提供两种解决方案:一是通过UI排除特定代码;二是修改pom.xml文件,利用sonar.cpd.exclusions属性。适用于希望精细控制代码质量的开发人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sonarqube duplicated blocks of code must be remove(Source files should not have any duplicated blocks)

解决办法1: 在UI上面把 Copy-paste detection 去除

可以在Sonarqube Server -》 Administration -》 Analysis Scope -》 Duplications -》 Duplication Exclusions 添加不需要检测duplicated blocks of code 的代码,代码内容可以参考(https://stackoverflow.com/questions/11079186/disable-sonar-duplications-on-entity-dto-packages)

解决办法2:在pom.xml文件里面添加不需要检测duplicated blocks of code 的代码名称

  • 背景

很多时候,为了项目尽可能通过代码进行控制,往往不希望通过Sonarqube的Server上面进行设置的方式对代码的Code Smell进行更改,所以可以通过pom.xml进行。

  • 解决办法

在上面解决办法1中可以通过UI添加代码名称,该选项显示 Duplication Exclusions
Patterns used to exclude some source files from the duplication detection mechanism. See below to know how to use wildcards to specify this property.
Key: sonar.cpd.exclusions 可以看到我们可以选择在pom.xml文件里面通过sonar.cpd.exclusions添加不需要检测duplicated blocks of code 的代码名称

检查办法

maven环境下可以使用以下命令进行Sonar检查

mvn sonar:sonar -Dsonar.host.url=yourSonarqubeUrl -Dsonar.login=yourSonarQubeToken

可以通过运行的log看到是否设置成功:

[INFO] Sensor CPD Block Indexer
[INFO] Copy-paste detection exclusions:
  **/Payload/*
[INFO] Sensor CPD Block Indexer (done) | time=75ms
[INFO] SCM provider for this project is: git

更多Sonarqube参考链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值