Maven EAR plugin
Introduction#
Here is an example configuration for a basic maven ear plugin for packaging both .war and .jar artifacts
A basic EAR configuration
<dependencies>
<dependency>
<groupId>{ejbModuleGroupId}</groupId>
<artifactId>{ejbModuleArtifactId}</artifactId>
<version>{ejbModuleVersion}</version>
<type>ejb</type>
</dependency>
<dependency>
<groupId>{webModuleGroupId}</groupId>
<artifactId>{webModuleArtifactId}</artifactId>
<version>{webModuleVersion}</version>
<type>war</type>
</dependency>
</depencencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<version>1.4</version><!-- application.xml verion -->
<modules>
<ejbModule>
<groupId>{ejbModuleGroupId}</groupId>
<artifactId>{ejbModuleArtifactId}</artifactId>
</ejbModule>
<webModule>
<groupId>{webModuleGroupId}</groupId>
<artifactId>{webModuleArtifactId}</artifactId>
<contextRoot>/custom-context-root</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>
</plugins>
</build>
Once compiled mvn clean install
, generates an .ear artifact in the target directory containing both the ejb (.jar) and the web module, along with the application.xml JEE description file.