【问题标题】:Ignore findbugs also ignores other忽略 findbugs 也会忽略其他
【发布时间】:2018-04-23 21:21:49
【问题描述】:

得到这些错误:

OPM_OVERLY_PERMISSIVE_METHOD
IMC_IMMATURE_CLASS_NO_TOSTRING
PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS
RI_REDUNDANT_INTERFACES

添加到 findbugs-exclude.xml 之后

<Match>
  <Not>
    <Bug code="IMC_IMMATURE_CLASS_NO_TOSTRING"/>
  </Not>
</Match>

我不再看到列出的四个错误中的任何一个。我只希望 IMC_IMMATURE_CLASS_NO_TOSTRING 被忽略

【问题讨论】:

    标签: findbugs spotbugs


    【解决方案1】:

    删除&lt;Not&gt; 运算符,如下所示:

    <Match>
      <Bug pattern="IMC_IMMATURE_CLASS_NO_TOSTRING"/>
    </Match>
    

    排除过滤器指定要检查的内容,因此额外的Not 使它排除了除IMC_IMMATURE_CLASS_NO_TOSTRING 之外的所有内容。

    【讨论】:

    • 嗨,Thomas,我也尝试过,因为这实际上更有意义,因为这是一个排除文件。以下是文档中的内容:“ 此元素反转包含的子匹配。即,您可以将 Bug 元素放在 Not 子句中以匹配除给定错误之外的任何错误。”
    • 删除 导致 IMC_IMMATURE_CLASS_NO_TOSTRING 不会被忽略。
    • 这忽略了一个特定类的 IMC_IMMATURE_CLASS_NO_TOSTRING,并且不会删除提到的其他四个错误。
    • 更新到用户模式而不是代码: 解决了这个问题。
    • 有趣的是,我也注意到了 code/pattern 的事情,但是如果使用完整的错误名称,文档允许两者,我认为 &lt;Not&gt; 部分必须是一个。更新了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2010-12-10
    • 1970-01-01
    • 2014-10-16
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多