有没有办法忽略单个FindBugs警告?
2022-08-31 06:01:03
使用 PMD,如果要忽略特定警告,可以使用忽略该行。// NOPMD
FindBugs也有类似的东西吗?
使用 PMD,如果要忽略特定警告,可以使用忽略该行。// NOPMD
FindBugs也有类似的东西吗?
FindBugs 初始方法涉及 XML 配置文件(即过滤器)。这真的不如PMD解决方案方便,但FindBugs适用于字节码,而不是源代码,因此注释显然不是一种选择。例:
<Match>
<Class name="com.mycompany.Foo" />
<Method name="bar" />
<Bug pattern="DLS_DEAD_STORE_OF_CLASS_LITERAL" />
</Match>
但是,为了解决这个问题,FindBugs后来引入了另一个基于注释的解决方案(参见PresspressFBWarnings
),您可以在类或方法级别使用(在我看来比XML更方便)。示例(也许不是最好的一个,但这只是一个例子):
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value="HE_EQUALS_USE_HASHCODE",
justification="I know what I'm doing")
请注意,由于FindBugs 3.0.0已被弃用,因为名称与Java的.SuppressWarnings
@SuppressFBWarnings
SuppressWarnings
正如其他人提到的,您可以使用注释。如果您不想或无法向代码中添加其他依赖项,则可以自己将注释添加到代码中,Findbugs 不关心注释在哪个包中。@SuppressFBWarnings
@Retention(RetentionPolicy.CLASS)
public @interface SuppressFBWarnings {
/**
* The set of FindBugs warnings that are to be suppressed in
* annotated element. The value can be a bug category, kind or pattern.
*
*/
String[] value() default {};
/**
* Optional documentation of the reason why the warning is suppressed
*/
String justification() default "";
}
资料来源:https://sourceforge.net/p/findbugs/feature-requests/298/#5e88