如何在CheckStyle中禁止警告?

Tom*_*sky 15 java eclipse checkstyle

我正在使用Eclipse的CheckStyle插件.

它非常适合在99%的时间内找到我不想要的东西,但是我实际上只有1%的时间打算故意违反规则,我想让CheckStyle知道它不需要关注标记警告.

示例:缺少Javadoc注释规则.大多数时候我都希望Javadoc对我的方法发表评论.但是,方法如:

public boolean isValid() {
  return valid;
}
Run Code Online (Sandbox Code Playgroud)

没有人可能会过得很快.

是否有类似@SuppressWarnings注释可用于将特定的CheckStyle规则违规标记为可接受的?可能是某种特殊格式的评论?我不想禁用该规则,我只想忽略特定的违规行为.

(我知道在这种情况下我可以编写Javadoc注释,但在其他情况下修复规则违规并不是那么简单).

小智 6

PhiLho是对的 - SuppressWithNearbyCommentFilter或SuppressionCommentFilter可以提供帮助.我已配置SuppressionCommentFilter并添加注释"CHECKSTYLE:OFF"和"CHECKSTYLE:ON"将暂时禁用检查样式.

  • 啊,没关系,我找到了这个答案:http://stackoverflow.com/a/4023351/110255 (2认同)

Syn*_*sis 1

看起来相当乏味,但需要显式的 XML 配置来忽略它。您可能可以通过使用 Eclipse 或 Netbeans 的 Checkstyle 插件找到一个 GUI 来完成此操作。我找到的示例位于 Checkstyle配置页面上。

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">

<suppressions>
    <suppress checks="JavadocStyleCheck"
              files="AbstractComplexityCheck.java"
              lines="82,108-122"/>
    <suppress checks="MagicNumberCheck"
              files="JavadocStyleCheck.java"
              lines="221"/>
</suppressions>
Run Code Online (Sandbox Code Playgroud)

  • 我建议不要使用此方法,因为引用的类的后续更改会更改行号,从而导致维护噩梦。最好更改我们想要全局捕获或不捕获的警告设置,或使用 CHECKSTYLE:OFF / CHECKSTYLE:ON 注释。 (12认同)