SonarQube跳过指定代码检查方法
现在很多项目里使用Sonarqube管理代码质量,团队一般也会有硬性的指标。如果有些代码虽然不合规范,但是在实际环境中不得不这样写,那么我们为了降低issue的数量,可以让Sonar跳过这一段的检测。
方法一 通过NOSONAR注释
NOSONAR 注释
加在要忽略的代码的后面,可指定跳过这一行代码:
fos = new FileOutputStream(new File("abc.txt"));// NOSONAR
//或者重写finalize方法
@Override
protected void finalize() { // NOSONAR
}
方法二 通过SuppressWarnings注解
用 @SuppressWarnings 注解(Java特性)
@SuppressWarnings("squid:S243")
public static void main(String args[]) {
}
@SuppressWarnings("squid:S3698")
public static void main(String args[]) {
}
如果要忽略多条rule, 可传多个参数:
@SuppressWarnings({"squid:S2755","findsecbugs:XXE_DOCUMENT"})
方法三 sonar.exclusions配置项
用sonar.exclusions配置项,忽略整个文件
mvn $MAVEN_CLI_OPTS sonar:sonar
-Dsonar.exclusions=src/main/generated/**/*,target/generated-sources/**/*