How do I Suppress Warnings in CheckStyle?

35,242

Solution 1

Seems pretty tedious but there needs to be explicit XML configuration to ignore it. You can probably find a GUI to do it via using the Checkstyle plugin for Eclipse or Netbeans. The example I've found is on the Checkstyle configuration page.

<?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>

Solution 2

PhiLho is right - SuppressWithNearbyCommentFilter or SuppressionCommentFilter can help. I have SuppressionCommentFilter configured and adding the comments "CHECKSTYLE:OFF" and "CHECKSTYLE:ON" will disable check style temporarily.

Solution 3

Synthesis pointed to the Checkstyle configuration page. Skimming it, I found SuppressWithNearbyCommentFilter which seems promising, unless I misunderstood its purpose...

Share:
35,242
Tom Tresansky
Author by

Tom Tresansky

Senior Software Engineer at Gradle, Inc.

Updated on June 20, 2020

Comments

  • Tom Tresansky
    Tom Tresansky almost 4 years

    I'm using the CheckStyle plugin for Eclipse.

    It's great at finding things I didn't intend 99% of the time, but the 1% of the time I actually did intend to knowingly violate a rule, I would like to let CheckStyle know it need not concern itself with flagging a warning.

    Example: the Missing a Javadoc comment rule. Most of the time I want Javadoc comments on my methods. However, a method such as:

    public boolean isValid() {
      return valid;
    }
    

    can probably get by without one.

    Is there anything like the @SuppressWarnings annotation which can be used to flag a specific CheckStyle rule violation as acceptable? Some sort of specially formatted comment, maybe? I don't want to disable the rule, I just want to ignore a specific violation.

    (I realize in this case I could just write the Javadoc comment, but in other cases fixing the rule violation isn't so simple).