Effizientes Arbeiten mit Maven: 24 Befehle und Optionen im Überblick
Einleitung
Maven zählt zu den beliebtesten Tools für Projekt- und Abhängigkeitsverwaltung in Java-Anwendungen. Es bietet eine Vielzahl von Befehlen und Optionen, die Ihnen bei Ihren täglichen Aufgaben helfen können. In diesem Cheat Sheet verwenden wir ein Beispielprojekt, um einige nützliche Maven-Befehle zu demonstrieren. Ursprünglich wurde es für OpenJDK 13.0.1 und Maven 3.6.3 erstellt, diese Befehle wurden jedoch mit OpenJDK 19.0.1 und Maven 3.8.7 überprüft.
Maven-Befehle
1. `mvn clean`
Mit diesem Befehl können Sie das Maven-Projekt durch Löschen des `target`-Verzeichnisses bereinigen:
mvn clean
2. `mvn compiler:compile`
Dieser Befehl kompiliert die Java-Quellklassen des Maven-Projekts:
mvn compiler:compile
3. `mvn compiler:testCompile`
Hiermit werden die Testklassen des Maven-Projekts kompiliert:
mvn compiler:testCompile
4. `mvn package`
Mit diesem Befehl wird das Maven-Projekt gebaut und in ein JAR, WAR, usw. verpackt:
mvn package
5. `mvn install`
Dieser Befehl baut das Maven-Projekt und installiert die Projektdateien (JAR, WAR, pom.xml, usw.) im lokalen Repository:
mvn install
6. `mvn deploy`
Mit diesem Befehl wird das Artefakt im Remote-Repository bereitgestellt. Dies erfordert die korrekte Konfiguration des Remote-Repositorys in der `pom.xml`-Datei des Projekts und die Bereitstellung von Authentifizierungsinformationen in der `settings.xml`-Datei von Maven.
mvn deploy
7. `mvn validate`
Mit diesem Befehl können Sie das Maven-Projekt validieren, um sicherzustellen, dass alles korrekt ist und alle erforderlichen Informationen vorhanden sind:
mvn validate
8. `mvn dependency:tree`
Generiert den Abhängigkeitsbaum des Maven-Projekts:
mvn dependency:tree
9. `mvn dependency:analyze`
Dieser Befehl analysiert das Maven-Projekt, um ungenutzte deklarierte und verwendete nicht deklarierte Abhängigkeiten zu identifizieren:
mvn dependency:analyze
10. `mvn archetype:generate`
Generiert Skelett-Maven-Projekte verschiedener Typen, wie JAR, Webanwendung, Maven-Site, usw.:
mvn archetype:generate
11. `mvn site:site`
Generiert eine Projektwebsite:
mvn site:site
12. `mvn test`
Führt die Tests des Projekts aus:
mvn test
13. `mvn compile`
Kompiliert die Quell-Javaklassen des Projekts:
mvn compile
14. `mvn verify`
Baut das Projekt, führt alle Testfälle aus und prüft die Ergebnisse der Integrationstests, um sicherzustellen, dass die Qualitätskriterien erfüllt sind:
mvn verify
Maven-Optionen
15. `mvn -help`
Gibt die Maven-Befehlszeile und alle verfügbaren Optionen aus:
mvn -help
16. `mvn -f dir/pom.xml package`
Baut ein Projekt aus einem anderen Verzeichnis:
mvn -f dir/pom.xml package
17. `mvn -o package`
Führt den Maven-Build im Offline-Modus aus:
mvn -o package
18. `mvn -q package`
Führt den Maven-Build im ruhigen Modus aus, wobei nur Testergebnisse und Fehler angezeigt werden:
mvn -q package
19. `mvn -X package`
Gibt die Maven-Version aus und führt den Build im Debug-Modus aus:
mvn -X package
20. `mvn -v`
Zeigt die Maven-Version an:
mvn -v
21. `mvn -V package`
Gibt die Maven-Version aus und setzt den Build fort:
mvn -V package
22. `mvn -DskipTests package`
Überspringt die Ausführung von Unit-Tests während des Builds:
mvn -DskipTests package
23. `mvn -Dmaven.test.skip=true package`
Überspringt ebenfalls die Ausführung von Testfällen:
mvn -Dmaven.test.skip=true package
24. `mvn -T 4 clean install`
Führt den Build mit parallelen Threads aus, um die Build-Zeit zu reduzieren:
mvn -T 4 clean install