Violation Exclusions
It is possible to exclude some sources from PMD/CPD check to prevent failures.
<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>3.17.0</version>
        <executions>
          <execution>
            <goals>
              <goal>check</goal>
            </goals>
            <configuration>
              <excludeFromFailureFile>exclude-pmd.properties</excludeFromFailureFile>
            </configuration>
          </execution>
          <execution>
            <goals>
              <goal>cpd-check</goal>
            </goals>
            <configuration>
              <excludeFromFailureFile>exclude-cpd.properties</excludeFromFailureFile>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>For cpd check, you can exclude classes to not verify. Classes can be specified in two ways:
- Comma-separated: org.apache.maven.ClassA and org.apache.maven.ClassB contain duplicated code across classes.
 - Single class per line: org.apache.maven.ClassC and org.apache.maven.ClassD do not share duplicate code, but have duplicated code internally.
 
The properties file for cpd must have the following format:
org.apache.maven.ClassA,org.apache.maven.ClassB org.apache.maven.ClassC org.apache.maven.ClassD
For pmd check, you can exclude rules per classes. The properties file must have the following format:
org.apache.maven.ClassA=UnusedPrivateField,EmptyCatchBlock org.apache.maven.ClassB=UnusedPrivateField,UnusedFormalParameter,UnusedPrivateMethod



