ejb:ejb

Full name:

org.apache.maven.plugins:maven-ejb-plugin:3.2.1:ejb

Description:

Build an EJB (and optional client) from the current project.

Attributes:

  • Requires a Maven project to be executed.
  • Requires dependency resolution of artifacts in scope: runtime.
  • The goal is thread-safe and supports parallel builds.
  • Binds by default to the lifecycle phase: package.

Required Parameters

Name Type Since Description
<sourceDirectory> File - Directory that contains the resources which are packaged into the created archive target/classes.
Default value is: ${project.build.outputDirectory}.

Optional Parameters

Name Type Since Description
<archive> MavenArchiveConfiguration - The archive configuration to use. See Maven Archiver Reference.
<classifier> String - Classifier to add to the artifact generated. If given, the artifact will be an attachment instead.
<clientClassifier> String 3.0.0 Classifier which is used for the client artifact.
Default value is: client.
<clientExcludes> List - The files and directories to exclude from the client jar. Usage:
<clientExcludes>
  <clientExclude>**/*Ejb.class</clientExclude>
  <clientExclude>**/*Bean.class</clientExclude>
</clientExcludes>

Attribute is used only if client jar is generated.
Default exclusions: **/*Bean.class, **/*CMP.class, **/*Session.class, **/package.html
<clientIncludes> List - The files and directories to include in the client jar. Usage:
<clientIncludes>
  <clientInclude>**/*</clientInclude>
</clientIncludes>

Attribute is used only if client jar is generated.
Default value: **/**
<ejbJar> String - You can define the location of ejb-jar.xml file.
Default value is: META-INF/ejb-jar.xml.
<ejbVersion> String 2.1 What EJB version should the EJB Plugin generate? Valid values are "2.x", "3.x" or "4.x" (where x is a digit). When ejbVersion is "2.x", the ejb-jar.xml file is mandatory. Usage:
<ejbVersion>3.0</ejbVersion>

Default value is: 3.1.
<escapeBackslashesInFilePath> boolean 2.3 To escape interpolated value with windows path. c:\foo\bar will be replaced with c:\\foo\\bar.
Default value is: false.
<escapeString> String 2.3 An expression preceded with this String won't be interpolated. \${foo} will be replaced with ${foo}.
<excludes> List - The files and directories to exclude from the main EJB jar. Usage:
<excludes>
  <exclude>**/*Ejb.class</exclude>
  <exclude>**/*Bean.class</exclude>
</excludes>

Default exclusions: META-INF/ejb-jar.xml, **/package.html
<filterDeploymentDescriptor> boolean 2.3 To filter the deployment descriptor.
Default value is: false.
<filters> List 2.3 Filters (properties files) to include during the interpolation of the deployment descriptor.
<generateClient> boolean - Whether the EJB client jar should be generated or not.
Default value is: false.
<outputTimestamp> String 3.1.0 Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
Default value is: ${project.build.outputTimestamp}.

Parameter Details

<archive>

The archive configuration to use. See Maven Archiver Reference.
  • Type: org.apache.maven.archiver.MavenArchiveConfiguration
  • Required: No

<classifier>

Classifier to add to the artifact generated. If given, the artifact will be an attachment instead.
  • Type: java.lang.String
  • Required: No

<clientClassifier>

Classifier which is used for the client artifact.
  • Type: java.lang.String
  • Since: 3.0.0
  • Required: No
  • Default: client

<clientExcludes>

The files and directories to exclude from the client jar. Usage:
<clientExcludes>
  <clientExclude>**/*Ejb.class</clientExclude>
  <clientExclude>**/*Bean.class</clientExclude>
</clientExcludes>

Attribute is used only if client jar is generated.
Default exclusions: **/*Bean.class, **/*CMP.class, **/*Session.class, **/package.html
  • Type: java.util.List
  • Required: No

<clientIncludes>

The files and directories to include in the client jar. Usage:
<clientIncludes>
  <clientInclude>**/*</clientInclude>
</clientIncludes>

Attribute is used only if client jar is generated.
Default value: **/**
  • Type: java.util.List
  • Required: No

<ejbJar>

You can define the location of ejb-jar.xml file.
  • Type: java.lang.String
  • Required: No
  • Default: META-INF/ejb-jar.xml

<ejbVersion>

What EJB version should the EJB Plugin generate? Valid values are "2.x", "3.x" or "4.x" (where x is a digit). When ejbVersion is "2.x", the ejb-jar.xml file is mandatory. Usage:
<ejbVersion>3.0</ejbVersion>
  • Type: java.lang.String
  • Since: 2.1
  • Required: No
  • Default: 3.1

<escapeBackslashesInFilePath>

To escape interpolated value with windows path. c:\foo\bar will be replaced with c:\\foo\\bar.
  • Type: boolean
  • Since: 2.3
  • Required: No
  • Default: false

<escapeString>

An expression preceded with this String won't be interpolated. \${foo} will be replaced with ${foo}.
  • Type: java.lang.String
  • Since: 2.3
  • Required: No

<excludes>

The files and directories to exclude from the main EJB jar. Usage:
<excludes>
  <exclude>**/*Ejb.class</exclude>
  <exclude>**/*Bean.class</exclude>
</excludes>

Default exclusions: META-INF/ejb-jar.xml, **/package.html
  • Type: java.util.List
  • Required: No

<filterDeploymentDescriptor>

To filter the deployment descriptor.
  • Type: boolean
  • Since: 2.3
  • Required: No
  • Default: false

<filters>

Filters (properties files) to include during the interpolation of the deployment descriptor.
  • Type: java.util.List
  • Since: 2.3
  • Required: No

<generateClient>

Whether the EJB client jar should be generated or not.
  • Type: boolean
  • Required: No
  • Default: false

<outputTimestamp>

Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
  • Type: java.lang.String
  • Since: 3.1.0
  • Required: No
  • Default: ${project.build.outputTimestamp}

<sourceDirectory>

Directory that contains the resources which are packaged into the created archive target/classes.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.outputDirectory}