Я читал этот вопрос на SO - Как добавить WAR в EAR с Maven
В топе проголосовал ответ "joelittlejohn" -
"Сейчассоздайте родительский модуль (с pom) и добавьте к нему модуль war и модуль ear. Убедитесь, что вы правильно установили родительский модуль модулей war и ear. Когда вы запустите пакет mvn для этого нового родителя, будет создан файл warмодулем war и файл ear (содержащий войну) будет создан модулем ear. "
Но зачем создавать родительский pom?Почему бы просто не создать стандартный проект Maven только с одним pom.Этот единственный pom-файл содержит зависимости и модули, а затем генерирует .ear-файл из этого одного pom-файла?
Что-то вроде:
<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>
<dependencies>
<dependency>
<groupId>com.your.group.id</groupId>
<artifactId>your-war-artifact</artifactId>
<version>your-war-version</version>
<type>war</type>
</dependency>
</dependencies>
</plugin>