Das [EAR Maven Plugin] ist ein [Maven] Plugin zum Erzeugen von EAR-Dateien (Enterprise Archive) mit gemeinsamen JAR-Abhängigkeiten. Es kann aus dem [Intersult Maven Repository] bezogen werden.

!!!Hintergrund
[Maven] enthält zwar einen Packaging Type um EARs zu erstellen, allerdings werden alle WARs mit den gesamten WEB-INF/lib-Inhalt eingepackt. Das [EAR Maven Plugin] hat folgende Vorteile:

* Die JARs tauchen nur einmal im EAR auf, auch wenn sie mehrfach im WAR referenziert werden. Das [EAR Maven Plugin] entfernt alle JARs aus dem WAR und deployed diese nur auf EAR-Ebene. Die Klassen können vom Parent-Classloader geladen werden, daher kann auch Heap-Speicher gespart werden.
* Die JARs werden nur noch einfach im EAR eingepackt. Im WAR wären sie doppelt eingepackt, je nach Application-Server kann dies zu Speicher- und Geschwindigkeitsvorteil führen.

!!!Konfiguration
Das Einbinden erfolgt durch die pom.xml:

{{{
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<packaging>custom-ear</packaging>
        ...
	<build>
		<extensions>
			<extension>
				<groupId>com.intersult</groupId>
				<artifactId>ear-maven-plugin</artifactId>
				<version>1.0-SNAPSHOT</version>
			</extension>
        	</extensions>
            ...
        </build>
	<pluginRepositories>
		<pluginRepository>
			<id>intersult-repo</id>
			<name>Intersult Repository</name>
			<url>http://repository.intersult.com/repository</url>
		</pluginRepository>
	</pluginRepositories>
</project>
}}}