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>
}}}