SonarQube 跳过指定检查

  • Post author:
  • Post category:其他


ps 我使用了下面的项目过滤来做 因为一个项目会有多个分支 只想对部分项目来做过滤某些规则 这个规则还是有些重要的

环境

演示环境参考前边的文章

SonarQube 扫描 Java 代码

步骤

我们已经扫描一个 Java 项目



有 6 个 BUG



点开其中一个 BUG,点击详情,我们可以看到规则描述及规则编号。java:S2259-可能发生空指针异常。如何忽略这个异常呢?

目前我找到三种方式:

  1. 全局忽略
  2. 项目忽略
  3. 配置文件

全局忽略

最高级配置,所有的扫描将跳过指定的规则。

找到配置项 “Ignore Issues on Multiple Criteria”





规则写:

java:S2259


文件写:

**/*


这个配置将忽略所有文件的 java:S2259 检查

项目忽略

指定项目忽略某项规则检查。

首先找到配置项位置,配置方式和全局配置相同,只是在项目里配置。





配置方式和全局配置相同。

配置文件方式

在项目下的

sonar-project.properties

扫描配置文件中添加:

# 这里启用了两个忽略,e1 和 e2,分别忽略了两个检查
sonar.issue.ignore.multicriteria=e1,e2

sonar.issue.ignore.multicriteria.e1.ruleKey=java:S2259
sonar.issue.ignore.multicriteria.e1.resourceKey=**/*

sonar.issue.ignore.multicriteria.e2.ruleKey=java:S2095  
sonar.issue.ignore.multicriteria.e2.resourceKey=**/*

配置文件的方式最为灵活,修改最为方便,执行扫描,查看一下扫描结果

sonar-scanner

可以看到,我们忽略了两种 BUG,扫描结果中的 BUG 显示为 0