SuppressWarnings不工作的FindBugs(SuppressWarnings not

2019-09-17 18:07发布

我跑我的Eclipse项目FindBugs的,并得到了潜在的错误警告,我想打压特殊原因(这个问题的上下文之外)。 下面的代码:

public class LogItem {
    private String name;

    private void setName(final String nm) {
        name = nm;
    }
}

当您在这个类中运行FindBugs的是给你的警告name = nm赋值操作,指出: Unread field: com.me.myorg.LogItem.name

所以我尝试添加此:

    private void setName(final String nm) {
        @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "NP", justification = "Because I can")
        name = nm;
    }

当我这样做,我得到Eclipse的一个语法(编译)错误,他说:

重复局部变量纳米; 名称不能被解析为一个类型。

于是我尝试添加了FindBugs的SuppressWarnings场上本身,而是对类重新运行FindBugs的之后,FindBugs的仍抱怨同一行代码,并出于同样的原因。 我甚至尝试添加SuppressWarningssetName方法,仍然没有什么区别。

如何( 究竟 !)我使用此批注安静FindBugs的?!?

Answer 1:

戴上字段的注解和修正错误标识。 这对我的作品:

public class LogItem {
    @edu.umd.cs.findbugs.annotations.SuppressWarnings("URF_UNREAD_FIELD")
    private String name;


Answer 2:

我一直使用内置java.lang.SuppressWarnings ,不是的FindBugs,它到目前为止的工作。 另外,对于特定的语句,你可能需要保持在同一行的声明注释之后。 喜欢

    @SuppressWarnings("NP") name = nm;

另外,你确定"NP"是一个有效的警示标识吗? 我会尝试"unused" ,如果没有别的似乎工作。



文章来源: SuppressWarnings not working on FindBugs