Ein Maven Plugin ist eine Sammlung von Goals, die nicht zwingend der gleichen Phase zugeordnet sein müssen. Das Maven Failsafe Plugin ist beispielsweise für das Ausführen von Integrationstests zuständig:
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven.failsafe.version}</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>In diesem Beispiel sind zwei zentrale Goals definiert:
Zur Auflistung aller Goals eines bestimmten Plugins kann folgender Befehl genutzt werden:
mvn <PLUGIN>:help
Beispiel für das Failsafe Plugin:
mvn failsafe:help
Maven Lifecycles, Phasen und Goals sind eng miteinander verzahnt und sorgen für einen strukturierten, wiederholbaren Build-Prozess. Goals definieren die konkreten Aufgaben, Phasen regeln deren Reihenfolge, und Plugins fassen zusammengehörige Goals in einer modularen und erweiterbaren Konfiguration zusammen.