Maven-Plugins und Goals
Den Build anpassen
Maven-Plugins und Goals ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.
Maven-Plugins und -Ziele
Maven selbst erledigt fast nichts — die gesamte eigentliche Arbeit übernehmen Plugins. Ein Plugin stellt Ziele bereit, und Ziele werden an Lebenszyklusphasen gebunden. Diese Lektion zeigt, wie Plugins einen Build anpassen.
Plugins und Ziele
Ein Plugin ist eine gebündelte Sammlung verwandter Funktionen. Ein Ziel ist eine einzelne konkrete Aufgabe innerhalb eines Plugins. Das Compiler Plugin stellt beispielsweise die Ziele compile und testCompile bereit.
Zielkoordinaten
Sie können ein Ziel direkt als plugin:goal aufrufen. Zum Beispiel mvn compiler:compile oder mvn surefire:test. Normalerweise werden Ziele automatisch ausgeführt, weil sie an Phasen gebunden sind.
Phasenbindungen
Der Standard-Packaging-Typ bindet standardmäßige Plugins vorab an Phasen. Bei einem jar-Projekt ist das Ziel compile des Compiler Plugins an die Phase compile gebunden, und das Ziel test des Surefire Plugins an test — deshalb funktioniert mvn test direkt.
Den Compiler konfigurieren
Sie konfigurieren ein Plugin innerhalb von <build><plugins>. Hier legen wir die Java-Release-Version fest, damit der Compiler eine bestimmte Version als Ziel verwendet.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<release>21</release>
</configuration>
</plugin>
</plugins>
</build>Das Surefire Plugin
Surefire führt Unit-Tests während der Phase test aus. Sie können festlegen, welche Tests eingeschlossen werden, wie viele parallel laufen und welche JVM-Argumente verwendet werden. Das verwandte Failsafe führt Integrationstests in der Phase verify aus.
Eine zusätzliche Ausführung binden
Ein Block <execution> bindet ein Ziel explizit an eine Phase, optional mit einer eigenen Konfiguration. So fügen Sie zusätzliche Arbeit hinzu, etwa das Generieren von Code vor der Kompilierung.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>print-banner</id>
<phase>generate-sources</phase>
<goals><goal>run</goal></goals>
</execution>
</executions>
</plugin>Ein Fat JAR erstellen
Das standardmäßige JAR enthält keine Abhängigkeiten. Das Shade Plugin (oder das Assembly Plugin) bündelt alles in einem ausführbaren uber-jar, indem es sein Ziel an die Phase package bindet.
Das Exec Plugin
Mit dem Exec Plugin können Sie Ihre Anwendung mit mvn exec:java aus Maven heraus ausführen, wobei Sie die Main-Klasse angeben. Praktisch für schnelle Ausführungen ohne Packaging.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.App</mainClass>
</configuration>
</plugin>Pluginverwaltung
In einem Multi-Modul-Build legt <pluginManagement> im übergeordneten POM Plugin-Versionen und gemeinsame Konfigurationen fest. Untergeordnete Module verweisen anschließend auf das Plugin, ohne die Version zu wiederholen, sodass die Builds konsistent bleiben.
Konfiguration entdecken
Verwenden Sie mvn help:describe -Dplugin=compiler, um die Ziele und Parameter eines Plugins aufzulisten. So finden Sie am schnellsten heraus, welche Stellschrauben ein Plugin bietet, ohne das Terminal zu verlassen.
Kurzer Test
Testen Sie Ihr Verständnis von Plugins und Zielen.
Zusammenfassung
Sie haben gelernt, wie Maven-Plugins funktionieren:
- Die gesamte eigentliche Build-Arbeit übernehmen Plugins, die Ziele bereitstellen.
- Ziele sind an Lebenszyklusphasen gebunden, sodass die Standardphasen direkt funktionieren.
- Konfigurieren Sie Plugins in
<build><plugins>; fügen Sie für zusätzliche Bindungen Ausführungen hinzu. - Shade/Assembly erstellen Fat JARs, Exec führt die Anwendung aus und Surefire/Failsafe führen Tests aus.
mvn help:describezeigt die Ziele und Parameter eines Plugins an.
Häufig gestellte Fragen
Ist die Lektion „Maven-Plugins und Goals“ kostenlos?
Ja — der vollständige Text von „Maven-Plugins und Goals“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Maven-Plugins und Goals“?
Den Build anpassen Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Maven-Plugins und Goals“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Maven-Projektstruktur
- Maven-Plugins und Goals
- Gradle-Grundlagen
- Ein Build-Tool auswählen