I have EAR with an application and I need to extend this app with my own code that is packaged as a WAR. Is there a maven plugin that can help me with putting the WAR inside the EAR?
The manual procedure is to put WAR inside EAR and add module to application.xml. I would like to automate that.
EDIT: small clarification - the WAR project is using maven but for EAR I have only the binary file nothing more.
You can change the specific configuration values for the webModule as required. Now create a parent module (with <packaging>pom</packaging> ) and add the war module and the ear module to it. Make sure you set the <parent> of the war and ear modules corrently.
I'd create a new module that has <packaging>ear</packaging>
.
In the dependencies for this ear module, include your war
module:
<dependency> <groupId>com.your.group.id</groupId> <artifactId>your-war-artifact</artifactId> <version>your-war-version</version> <type>war</type> </dependency>
Now in the build plugins for this ear module, include the maven-ear-plugin like, e.g.:
<plugin> <artifactId>maven-ear-plugin</artifactId> <version>2.3.2</version> <configuration> <finalName>MyEarFile</finalName> <version>5</version> <generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation> <modules> <webModule> <groupId>com.your.group.id</groupId> <artifactId>your-war-artifact</artifactId> <uri>YouWarFile.war</uri> <bundleFileName>YouWarFile.war</bundleFileName> <contextRoot>/appname</contextRoot> </webModule> </modules> </configuration> </plugin>
You can change the specific configuration values for the webModule
as required.
Now create a parent module (with <packaging>pom</packaging>
) and add the war module and the ear module to it. Make sure you set the <parent>
of the war and ear modules corrently.
When you run mvn package
for this new parent, a war file will be built by the war module and an ear file (containing the war) will be built by the ear module.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With