FindBugs在eclipse中发现错误,但在命令行

时间:2016-08-04 09:56:05

标签: java eclipse ant findbugs

当使用FindBugs检测Java代码中的潜在代码问题时,我们遇到了以下问题。使用下面的模板的方法(创建最小样本来重现问题):

package com.clcbio.test;

public class Foo {
    private static final boolean SETTING = false;
    private String something = "blah";

    public static void main(String[] args) throws Exception {
        Foo f = new Foo();
        f.foo();
    }

    public void foo() {
        if (!SETTING) {
            return;
        }

        something = "else";
        System.out.println("Hello");
    }
}

在Eclipse中,它报告了标签的错误:“方法com.clcbio.test.Foo.foo()描述的”UC_USELESS_VOID_METHOD“似乎没用”,这是完全正确的(无论是作业还是打印被删除它不会报告问题)。很好,我们抓到了一个bug bug但是

从命令行运行FindBugs时,我们无法让它报告相同代码的错误。我们已经尝试设置参数-maxRank 20-effort:max(并且还尝试了defailt和min以防万一),-userPrefs(参考eclipse配置),-low和{{ 1}}加上这些的各种组合。此外,我们还尝试明确告诉FindBugs启用与eclipse声明相同的插件来检测它(edu.umd.cs.findbugs.plugins.core)。

由于我们的ant脚本正在运行FindBugs,我们真的希望它们在出现错误的情况下使构建失败,我们也希望它能够失败。但是在不知道如何让命令行来检测它的情况下,很难找到正确的设置。

我们如何使ant或命令行工具也显示此错误?

0 个答案:

没有答案