Be sure to place the maven-was6-plugin declaration BEFORE the maven-ejb-plugin. This ensures that the generated stubs get included in the resulting archive. Likewise if you're generating home-, remote- and/or local interfaces (f.ex. with xdoclet), place that plugin BEFORE the maven-was6-plugin. This ensures that the generated interfaces are available on the classpath for the maven-was6-plugin.
It may be wise to define a property referencing the WAS installation point in your pom or in your settings.xml. This way you can reuse the value across dependencies in the pom and in the plugin, and the location of installation-point can be triggered by profiles and vary per environment.
This assures that the generated sources will be included in the resulting jar. If your WebSphere environment is a base install/ND:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>was6-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>ejbdeploy</goal>
</goals>
</execution>
</executions>
<configuration>
<wasHome>C:/Program Files/IBM/WebSphere/AppServer</wasHome>
</configuration>
</plugin>
If your WebSphere installation is an Rational Application Developer embedded test environment, which does not support the jdkComplicanceAttribute (see faq), set legacyMode to true:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>was6-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<goals>
<goal>ejbdeploy</goal>
</goals>
</execution>
</executions>
<configuration>
<wasHome>C:\Program Files\IBM\SDP70\runtimes\base_v61</wasHome>
<legacyMode>true</legacyMode>
</configuration>
</plugin>