Java 代码中的 FindBugs Gradle

FindBugs in Java code with Gradle

我是 Gradle 的新手,我正在尝试使用 FindBugs 创建一个项目

我发现我需要在 build.gradle

中声明那些行
apply plugin: 'findbugs'

findbugs {    
    effort = "max"
    reportsDir = file("$buildDir/reports/findbugs")
    reportLevel = "high"
    sourceSets = [sourceSets.main]
}

findbugsMain {
    reports {       
        html.enabled = true
        xml.enabled = false
    }
}

当我执行 gradle build 时,生成了报告页面,但没有任何错误消息。为了测试 FindBug,我将下面的代码放在 类 中以测试

if("1" == "1"){

}

我的报告没有任何问题。

我做错了什么?

首先你的代码:

if("1" == "1") { }

没有提出任何违规行为。

其次,下面一行:

reportLevel = "high"

只会导致真正有问题的 错误被报告,如here所述。

为了证明这一点,我准备了一个 sample project。尝试 运行 注释掉 reportLevel = "high" 并保持原样。当它被注释掉时 findbugs 任务将因为讨厌的变量名而失败。