Crearía un nuevo módulo que tiene <packaging>ear</packaging>
.
En las dependencias de este módulo de oreja, incluya su war
módulo:
<dependency>
<groupId>com.your.group.id</groupId>
<artifactId>your-war-artifact</artifactId>
<version>your-war-version</version>
<type>war</type>
</dependency>
Ahora en los plugins para crear dicho módulo de oreja, incluya el experto en la oreja-plugin como, por ejemplo:
<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>
Puede cambiar los valores de configuración específicos para webModule
según sea necesario.
Ahora cree un módulo principal (con <packaging>pom</packaging>
) y agregue el módulo war y el módulo ear al mismo. Asegúrese de configurar el <parent>
de los módulos war y ear de forma automática.
Cuando ejecute mvn package
para este nuevo elemento primario, el módulo war compilará un archivo war y el módulo ear lo compilará con un archivo ear (que contendrá la guerra).
Tal vez me falta algo, pero no veo cómo usar el complemento maven ear. El problema es que no tengo la fuente para ese EAR. – stalker
si tiene un archivo EAR, puede descomprimirlo: http://maven.apache.org/plugins/maven-ear-plugin/examples/unpacking-a-module.html y luego agregar war, cambiar application.xml y empaquetarlo de nuevo. –