FindBugs 过滤器:正则表达式在 Class 元素中不起作用

FindBugs filters: regex doesn't work in Class element

我正在尝试将 FindBugs 配置为忽略数据对象 类(名称以 DO 后缀结尾)缺少的等号方法。 documentation 说这应该有效:

  <Match>
    <Class name=".*DO" />
    <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
  </Match>

但是它不支持,我开始怀疑 Class/@name 是否支持正则表达式。 有趣的是,这确实有效:

  <Match classregex=".*DO">
    <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
  </Match>

P.S.: 我正在使用 FindBugs 2.0.1

您需要在 FindBugs 中的正则表达式之前添加波浪号。所以它应该看起来更像这样:

 <Match>
    <Class name="~.*DO" />
    <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS" />
 </Match>