Ron*_*fin 18 java eclipse findbugs
FindBugs在我的代码中发现了一个潜在的错误.但这不是一个错误.
是否可以将此事件标记为"不是错误"并将其从错误列表中删除?
我已经非常清楚地记录了为什么每个案例都不是一个bug.
例如.类实现了类似的接口.它有compareTo方法.但是我没有覆盖equals方法.
FindBugs不喜欢这个,因为JavaDocs声明它是推荐的
(x.compareTo(y)==0) == (x.equals(y))
Run Code Online (Sandbox Code Playgroud)
虽然在我的情况下,上述条件是并且始终是真的.
WMR*_*WMR 34
您也可以使用SuppressWarnings注释,而不是使用过滤器.您必须使用findbugs包中的注释,这意味着您需要导入或使用它的完全限定名称.这是因为除了来自JDK 的SuppressWarning之外,它还保留了"Class",这是必需的,因为findbugs对编译的字节码而不是源代码进行操作.
例:
@edu.umd.cs.findbugs.annotations.SuppressWarnings(
value="EQ_COMPARETO_USE_OBJECT_EQUALS",
justification="because I know better")
Run Code Online (Sandbox Code Playgroud)
有一个角落你可能不应该使用注释:如果你的代码是最终在jar中的库代码,那么它可以被其他项目使用,你仍然使用Java5.原因是JDK中的一个错误,如果注释不在类路径中,它会崩溃javac.
可能通过添加过滤器作为findbugs的参数
匹配子句只能匹配错误实例中实际包含的信息
<Match>
<Class name="com.foobar.MyClass" />
<Method name="myMethod" />
<Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
</Match>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9912 次 |
| 最近记录: |