To include the mvn report in the project reports section add the following lines under the reports element in your pom.xml:
<project> ... <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> </plugin> </plugins> </reporting> ... </project>
To specify a ruleset, simply edit the previous configuration:
<reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <configuration> <rulesets> <ruleset>/rulesets/braces.xml</ruleset> <ruleset>/rulesets/naming.xml</ruleset> <ruleset>d:\rulesets\strings.xml</ruleset> <ruleset>http://localhost/design.xml</ruleset> </rulesets> </configuration> </plugin> </plugins> </reporting>
A clean strategy for customizing which rules to use for a project is to write a ruleset file. In this file you can define which rules to use, add custom rules, and customizing which rules to include/exclude from official rulesets. More information on writing a ruleset can be found here. Note that if you include other rulesets in your own rulesets, you have to be sure that the plugin will be able to resolve those other ruleset references.
The Maven 2 PMD plugin allows you to configure CPD, targetJDK, and the use of XRef to link the report to html source files, and the file encoding:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <configuration> <linkXref>true</linkXref> <sourceEncoding>ISO-8859-1</sourceEncoding> <minimumTokens>30</minimumTokens> <targetJdk>1.4</targetJdk> </configuration> </plugin>
For more data, please see the well documented PMD plugin project page here: http://maven.apache.org/plugins/maven-pmd-plugin/index.html