Index: src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java
===================================================================
--- src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java	(revision 816598)
+++ src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java	(working copy)
@@ -127,6 +127,16 @@
     private String[] excludes;
 
     /**
+     * Takes the same patterns as the <code>excludes</code> parameter but as a
+     * comma separated string, so it can be set as a property in a (sub) projects 
+     * pom. This becomes very usefull if you want to overwrite just the excludes.
+     * 
+     * @parameter expression="${maven.pmd.excludesList}"
+     * @since 2.5
+     */
+    private String excludesList = null;
+
+    /**
      * A list of files to include from checking. Can contain Ant-style wildcards and double wildcards.
      * Defaults to **\/*.java.
      *
@@ -136,6 +146,17 @@
     private String[] includes;
 
     /**
+     * takes the same patterns as the <code>includes</code> parameter but as a
+     * comma separated string, so it can be set as a property in a (sub-) 
+     * projects pom. This becomes very usefull if you want to overwrite just 
+     * the includes.
+     * 
+     * @parameter expression="${maven.pmd.includesList}"
+     * @since 2.5
+     */
+    private String includesList = null;
+
+    /**
      * The directories containing the sources to be compiled.
      *
      * @parameter expression="${project.compileSourceRoots}"
@@ -345,10 +366,13 @@
     private String getIncludes()
     {
         Collection patterns = new LinkedHashSet();
-        if ( includes != null )
+        if ( includes != null && includesList == null )
         {
             patterns.addAll( Arrays.asList( includes ) );
         }
+        if ( includesList != null) {
+            patterns.add( StringUtils.deleteWhitespace( includesList ) );
+        }
         if ( patterns.isEmpty() )
         {
             patterns.add( "**/*.java" );
@@ -364,10 +388,14 @@
     private String getExcludes()
     {
         Collection patterns = new LinkedHashSet( FileUtils.getDefaultExcludesAsList() );
-        if ( excludes != null )
+        if ( excludes != null && excludesList == null )
         {
             patterns.addAll( Arrays.asList( excludes ) );
         }
+        if ( excludesList != null )
+        {
+            patterns.add( StringUtils.deleteWhitespace( excludesList ) );
+        }
         return StringUtils.join( patterns.iterator(), "," );
     }
 
