blob: c157a1e98ee585741c96e37e2ca41eb38f83f881 [file] [log] [blame]
------
EAR Modules
------
Edwin Punzalan
------
2006-07-31
------
~~ Copyright 2006 The Apache Software Foundation.
~~
~~ Licensed under the Apache License, Version 2.0 (the "License");
~~ you may not use this file except in compliance with the License.
~~ You may obtain a copy of the License at
~~
~~ http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing, software
~~ distributed under the License is distributed on an "AS IS" BASIS,
~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~~ See the License for the specific language governing permissions and
~~ limitations under the License.
~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html
EAR Modules
The EAR Plugin supports additional configurations of the following modules:
* {{{ejbClientModule}ejbClientModule}}
* {{{ejbModule}ejbModule}}
* {{{jarModule}jarModule}}
* {{{parModule}parModule}}
* {{{rarModule}rarModule}}
* {{{sarModule}sarModule}}
* {{{webModule}webModule}}
* {{{wsrModule}wsrModule}}
* {{{harModule}harModule}}
* {{{appClientModule}appClientModule}}
[]
If the artifact you want to configure is not listed above, you can create your
own custom artifact configuration by following the
{{{Custom_Artifact_Types}adding custom artifact types}} guide below this page.
These module names go into the <<<modules>>> parameter of the EAR Plugin. For
example, to configure the properties of an EjbModule, the EAR Plugin
configuration for <<<modules>>> would look like:
+-----
<project>
[...]
<build>
[...]
<plugins>
[...]
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<modules>
<ejbModule>
<!-- property configurations goes here -->
</ejbModule>
</modules>
</configuration>
</plugin>
[...]
</project>
+-----
* {ejbClientModule} Properties
The following configuration options are available for EjbClientModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'ejb-client'.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the URI path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* {ejbModule} Properties
The following configuration options are available for EjbModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'ejb'.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* {jarModule} Properties
The following configuration options are available for JarModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'jar'. Use 'test-jar' if the artifact of the module is test JAR.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* <<includeInApplicationXml>> - set to true to if you want to generate an entry
of this module in <<<application.xml>>>. Default is false.
* {parModule} Properties
The following configuration options are available for ParModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'par'. If the artifact you want to configure is built with
{{{https://github.com/mojohaus/jboss-packaging-maven-plugin}JBoss Packaging Maven Plugin}}
and has 'jboss-par' type, then that type should be specified explicitly.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* {rarModule} Properties
The following configuration options are available for RarModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'rar'.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* {sarModule} Properties
The following configuration options are available for SarModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'sar'. If the artifact you want to configure is built with
{{{https://github.com/mojohaus/jboss-packaging-maven-plugin}JBoss Packaging Maven Plugin}}
and has 'jboss-sar' type, then that type should be specified explicitly.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* {webModule} Properties
The following configuration options are available for WebModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'war'.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* <<contextRoot>> - sets the context root of this web artifact.
* {wsrModule} Properties
The following configuration options are available for WsrModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'wsr'.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* {harModule} Properties
The following configuration options are available for HarModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'har'. If the artifact you want to configure is built with
{{{https://github.com/mojohaus/jboss-packaging-maven-plugin}JBoss Packaging Maven Plugin}}
and has 'jboss-har' type, then that type should be specified explicitly.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* {appClientModule} Properties
The following configuration options are available for AppClientModule:
* <<groupId>> - sets the groupId of the artifact you want to configure.
* <<artifactId>> - sets the artifactId of the artifact you want to configure.
* <<type>> - sets the type of the artifact you want to configure.
Default is 'app-client'.
* <<classifier>> - sets the classifier of the artifact you want to
configure if multiple artifacts matches the groupId/artifactId/type. Use
the mainArtifactId ('none' by default) to define the main artifact (e.g.
the artifact without a classifier).
* <<bundleDir>> - sets the location of this artifact inside the ear archive.
If not set, this artifact will be packaged in the root of the archive.
* <<bundleFileName>> - sets the new name of this artifact inside the ear
archive. If not set, the artifact's filename in the repository is used.
* <<excluded>> - set to true to exclude this artifact from being packaged into
the ear archive. Default is false.
* <<uri>> - sets the uri path of this artifact within the ear archive.
Automatically determined when not set.
* <<unpack>> - set to true to unpack this artifact into the ear archive according
to its uri. Default is false.
* <<altDeploymentDescriptor>> - sets the alternative deployment descriptor for
this module.
* <<moduleId>> - sets the id of the module in the generated application.xml.
* Adding {Custom Artifact Types}
If you need to map a custom artifact type to one of those types, use the
<<<customArtifactTypeMappings>>>.
For instance, to map a custom 'my-rar' to the 'rar' standard artifact's type,
add the following to the pom's configuration:
+--------
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<artifactTypeMappings>
<artifactTypeMapping type="my-rar" mapping="rar"/>
</artifactTypeMappings>
</configuration>
</plugin>
</plugins>
</build>
+---------