Index: src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java	(revision 405309)
+++ src/main/java/org/apache/maven/plugin/ejb/EjbMojo.java	(working copy)
@@ -41,9 +41,9 @@
     // TODO: will null work instead?
     private static final String[] DEFAULT_INCLUDES = new String[]{"**/**"};
 
-    private static final String[] DEFAULT_EXCLUDES = new String[]{"**/*Bean.class", "**/*CMP.class",
-        "**/*Session.class", "**/package.html"};
-
+    private static final String[] DEFAULT_CLIENT_EXCLUDES = new String[]{"**/*Bean.class", "**/*CMP.class",
+    	"**/*Session.class", "**/package.html"};
+    
     private static final String[] EMPTY_STRING_ARRAY = new String[0];
 
     /**
@@ -86,19 +86,34 @@
      *
      * <br/>Usage:
      * <pre>
-     * &lt;clientIncludes&gt;
-     *   &lt;clientInclude&gt;**&#47;*Ejb.class&lt;&#47;clientInclude&gt;
-     *   &lt;clientInclude&gt;**&#47;*Bean.class&lt;&#47;clientInclude&gt;
-     * &lt;&#47;clientIncludes&gt;
+     * &lt;excludes&gt;
+     *   &lt;exclude&gt;**&#47;*Ejb.class&lt;&#47;exclude&gt;
+     *   &lt;exclude&gt;**&#47;*Bean.class&lt;&#47;exclude&gt;
+     * &lt;&#47;excludes&gt;
      * </pre>
+     * <br/>Default exclusions: META-INF&#47;ejb-jar.xml, **&#47;package.html
+     * @parameter
+     */
+    private List excludes;
+
+    /**
+     * Client JAR excludes.
+     *
+     * <br/>Usage:
+     * <pre>
+     * &lt;clientExcludes&gt;
+     *   &lt;clientExclude&gt;**&#47;*Ejb.class&lt;&#47;clientExclude&gt;
+     *   &lt;clientExclude&gt;**&#47;*Bean.class&lt;&#47;clientExclude&gt;
+     * &lt;&#47;clientExcludes&gt;
+     * </pre>
      * <br/>Attribute is used only if client jar is generated.
      * <br/>Default exclusions: **&#47;*Bean.class, **&#47;*CMP.class, **&#47;*Session.class, **&#47;package.html
      * @parameter
      */
     private List clientExcludes;
-
+    
     /**
-     * Includes.
+     * Client JAR includes.
      *
      * <br/>Usage:
      * <pre>
@@ -175,8 +190,16 @@
 
         try
         {
+        	String[] theExcludes;
+        	if (excludes != null && !excludes.isEmpty()) {
+        		theExcludes = (String[]) excludes.toArray(EMPTY_STRING_ARRAY);
+        	} else {
+        		theExcludes = new String[] { ejbJarXmlFile, "**/package.html" };
+        	}
+        	
+        	// FIXME: Why is ejb-jar.xml in default excludes then added again as a file below?
             archiver.getArchiver().addDirectory( new File( outputDirectory ), DEFAULT_INCLUDES,
-                                                 new String[]{ejbJarXmlFile, "**/package.html"} );
+                                                 theExcludes );
 
             archiver.getArchiver().addFile( new File( outputDirectory, ejbJarXmlFile ), ejbJarXmlFile );
 
@@ -189,7 +212,7 @@
             {
                 getLog().info( "Building ejb client " + jarName + "-client" );
 
-                String[] excludes = DEFAULT_EXCLUDES;
+                theExcludes = DEFAULT_CLIENT_EXCLUDES;
                 String[] includes = DEFAULT_INCLUDES;
 
                 if ( clientIncludes != null && !clientIncludes.isEmpty() )
@@ -199,7 +222,7 @@
 
                 if ( clientExcludes != null && !clientExcludes.isEmpty() )
                 {
-                    excludes = (String[]) clientExcludes.toArray( EMPTY_STRING_ARRAY );
+                    theExcludes = (String[]) clientExcludes.toArray( EMPTY_STRING_ARRAY );
                 }
 
                 File clientJarFile = new File( basedir, jarName + "-client.jar" );
@@ -211,7 +234,7 @@
                 clientArchiver.setOutputFile( clientJarFile );
 
                 clientArchiver.getArchiver().addDirectory(
-                        new File( outputDirectory ), includes, excludes );
+                        new File( outputDirectory ), includes, theExcludes );
 
                 // create archive
                 clientArchiver.createArchive( project, archive );
