Apache Maven 1.x has reached its end of life, and is no longer supported. For more information, see the announcement. Users are encouraged to migrate to the current version of Apache Maven.

ejb jar settings

PropertyOptional?DescriptionDefault
maven.ejb.src Yes Root of files to be included within the ejb-jar. The same directory structure will be followed within the assembled jar file. Please note this is not for your java code or class files, these are other resources. Alternatively, you can use the resources element of the project.xml to specify resource across various directories, just as you would for a jar or war project. ${maven.src.dir}/ejb
maven.ejb.build.dir Yes Location where to place the generated EJB files. ${maven.build.dir}
maven.ejb.final.name Yes Name of the generated EJB file (without the path which is specified by the maven.ejb.build.dir property). ${maven.final.name}.jar
maven.ejb.client.final.name Yes Name of the generated EJB client file (without the path which is specified by the maven.ejb.build.dir property). ${maven.final.name}-client.jar
maven.ejb.includes Yes Files to include in ejb. Note: Files are relative to ${maven.build.dest}. **
maven.ejb.excludes Yes Files to exclude in ejb. Note: Files are relative to ${maven.build.dest}. **/package.html
maven.ejb.client.index Yes Whether to create an index list to speed up classloading. This is a JDK 1.3+ specific feature. false
maven.ejb.client.base.excludes Yes Classes excluded by default from a client ejb jar **/*Bean.class,**/*CMP.class,**/*Session.class
maven.ejb.client.excludes Yes Classes excluded from a client ejb jar No default
maven.ejb.manifest Yes Location of the manifest file to be used within the ejb jar file. ${maven.ejb.src}/META-INF/MANIFEST.MF
maven.ejb.client.generate Yes Decide wether to generate an EJB client JAR or not. false
maven.ejb.index Yes Whether to create an index list to speed up classloading. This is a JDK 1.3+ specific feature. false

Including JARs in standalone EJB JARs

You must tell Maven what jars you want included in the ejb. This is probably only needed if you are building a standalone ejb jar. This is achieved by specifying meta-information in the POM, using the following syntax:

    <dependency>
      <id>jarid</id>
      <version>jarversion</version>
      <properties>
        <ejb.bundle>true</ejb.bundle>
      </properties>
    </dependency>
  

Generating the manifest Class-Path entry

To access the classes within other jars (either within the same ear file or embedded within the same ejbjar), you will need to use the manifest Class-Path entry. To generate the classpath for an ejb-jar from the dependencies use this syntax.

    <dependency>
      <id>jarid</id>
      <version>jarversion</version>
      <properties>
        <ejb.manifest.classpath>true</ejb.manifest.classpath>
      </properties>
    </dependency>