How to suppress violations in PMD?

Tags: , ,



When I run a PMD analysis I receive violation:

Each class should declare at least one constructor

This violation is on a Spring controller. This controller is instantiated by Spring, so I shouldn’t need to invoke this class.

What is recommended way of ignoring this violation?

According to this doc can use //NOPMD but I just want to ignore specific violation.

Answer

PMD also supports the @SuppressWarnings annotations:

// This will suppress all the PMD warnings in this class
@SuppressWarnings("PMD")
public class Bar {
 void bar() {
  int foo;
 }
}

Or just one type of warning:

// This will suppress UnusedLocalVariable warnings in this class
@SuppressWarnings("PMD.UnusedLocalVariable")
public class Bar {
 void bar() {
  int foo;
 }
}

And what you might also want to look into are creating a ruleset and exclusions. Maybe you want to disable a certain rule, or exclude certain files from PMD checking.



Source: stackoverflow