50 % Rabatt alle Pläne, begrenzte Zeit. Beginnend bei $2.48/mo
Noch 18 Minuten übrig
Web- und Business-Apps

Mastering Maven: Detaillierte Befehle, Optionen und Cheatsheet für eine effiziente Entwicklung

Ada Lovegood By Ada Lovegood 18 Min. Lektüre Aktualisiert am 23. Februar 2025
MVN-Befehlsanleitung

Automatisierungs- und Entwicklungstools gehören definitiv zu den wichtigsten Aspekten eines Projekts, und in diesem Blog möchten wir Maven besprechen. Maven ist ein leistungsstarkes Automatisierungstool für Java-Projekte. Es vereinfacht den Build-Prozess und schafft eine einheitliche Struktur für Projekte. Dies erleichtert die Verwaltung und das Verständnis von Projekten. Dieser Blog deckt fast alles in der Welt von Maven ab und deckt eine breite Palette von Befehlen und Optionen ab, die Ihren Entwicklungsworkflow optimieren. Wir werden verschiedene Aspekte wie Server- und Containerverwaltung, Quellcodeverwaltung (SCM) und GPG zum Signieren von Artefakten untersuchen. Darüber hinaus werden wir uns mit speziellen Befehlen für die Plugin-Verwaltung, Montage und Verteilung sowie die Erstellung von Projektseiten und -berichten befassen. Am Ende dieses Leitfadens werden Sie also ein umfassendes Verständnis davon haben Maven-Befehle und -Optionen.

Überblick über Maven; Projektlebenszyklus

In der jiddischen Sprache bedeutet das Wort Maven „Wissensakkumulator“. Diese Bedeutung erklärt im Wesentlichen die Leistungsfähigkeit von Maven als Automatisierungstool für Java-Projekte. Maven macht den Build-Prozess und das Projektmanagement sehr einfach. Dies geschieht durch die Automatisierung verschiedener Aufgaben und die Bereitstellung eines einheitlichen Build-Systems.

Um nun eine klare Vorstellung davon zu bekommen, wie Maven funktioniert, lassen Sie uns das Konzept von a aufschlüsseln Projektobjektmodell (POM). POM ist eine XML-Datei, die Informationen zum Projekt und Konfigurationsdetails enthält. Maven nutzt POM als Grundlage seiner Arbeit. Daher übernimmt Maven für den Betrieb die Abhängigkeiten des Projekts, das Build-Verzeichnis, das Quellverzeichnis, das Testquellverzeichnis und die Ziele aus dieser Quelle.

Nach der Definition des Projekts und seiner Abhängigkeiten von pom.xmlWenn Sie einen Maven-Befehl ausführen, liest dieser die POM-Datei, um die spezifische Build-Phase dieses Befehls auszuführen. Es gibt einen langen Projektlebenszyklus von der Erstellung des Projekts bis zur tatsächlichen Bereitstellung. Dieser Lebenszyklus definiert die Abfolge der Phasen, die Ihr Projekt durchlaufen soll. Jede Phase stellt eine Phase im Lebenszyklus dar und führt bestimmte Aufgaben aus, z. B. das Kompilieren des Quellcodes, das Ausführen von Tests und das Verpacken des Codes in ein verteilbares Format. All dies macht den Projektlebenszyklus des Maven zu einem wichtigen Konzept, das es zu verstehen gilt. Schauen wir uns also die Lebenszyklusphasen von Maven genauer an:

  1. Bestätigen: In dieser Phase wird überprüft, ob das Projekt korrekt ist und alle erforderlichen Informationen verfügbar sind.
  2. Kompilieren: In dieser Phase wird der Quellcode des Projekts kompiliert.
  3. Prüfen: In dieser Phase wird der kompilierte Quellcode mithilfe eines geeigneten Unit-Testing-Frameworks getestet.
  4. Paket: Diese Phase verpackt den kompilierten Code in seinem verteilbaren Format (z. B. JAR, WAR).
  5. Installieren: In der Installationsphase wird das Paket im lokalen Repository installiert und steht für andere Projekte auf demselben Computer zur Verfügung.
  6. Einsetzen: In dieser Phase wird das endgültige Paket in das Remote-Repository kopiert, um es mit anderen Entwicklern und Projekten zu teilen.

Jede dieser Phasen verfügt über einen entsprechenden MVN-Befehl, den wir in den kommenden Abschnitten unseres Maven-Cheatsheets behandeln werden. Dies sind die wichtigsten Befehle zur Verwaltung des Build-Prozesses Ihres Projekts.

Abhängigkeitsmanagement

Eine der Kernfunktionen von Maven ist das Abhängigkeitsmanagement. Diese Funktion ist für die Leistung von Maven so wichtig, weil sie den Umgang mit Projektabhängigkeiten erleichtert.

Wie Maven Abhängigkeiten verwaltet

Maven verwendet ein zentrales Repository, bekannt als Zentrales Maven-Repository, wo eine große Auswahl an Bibliotheken und Plugins gehostet wird. Wenn ein Projekt eine Abhängigkeit erfordert, lädt Maven automatisch die erforderlichen Bibliotheken aus dem zentralen Repository herunter und speichert sie im lokalen Repository. Dieses lokale Repository ist ein Cache auf Ihrem lokalen Computer, der die Downloadzeiten für zukünftige Builds verkürzt.

Abhängigkeiten in Maven werden im angegeben pom.xml Datei unter der <Abhängigkeiten> Abschnitt. Jede Abhängigkeit wird durch einen Satz von Koordinaten definiert: Gruppen-ID, Artefakt-ID, Und Version.

Abhängigkeitsbereiche

Beim Arbeiten mit Maven können Sie den Umfang der Abhängigkeiten festlegen. Dieser Faktor definiert die Sichtbarkeit des Klassenpfads und die Lebenszyklusphase der Abhängigkeit. So können Sie wissen, welche Phase diese Abhängigkeit erfordert. Die üblichen Bereiche sind:

  • Kompilieren: Dies ist der Standardbereich und wird verwendet, wenn kein Bereich angegeben ist. Abhängigkeiten mit diesem Umfang sind in allen Build-Phasen verfügbar und im endgültigen Paket enthalten.
  • Bereitgestellt: Wir gehen davon aus, dass die Abhängigkeiten mit diesem Bereich von der Laufzeitumgebung bereitgestellt werden. Sie werden während der Kompilierung verwendet, sind jedoch nicht im endgültigen Paket enthalten.
  • Laufzeit: Diese Abhängigkeiten werden für die Kompilierung nicht benötigt, sind aber während der Ausführung erforderlich. Sie sind im Laufzeitklassenpfad enthalten.
  • Prüfen: Diese Abhängigkeiten werden nur zum Kompilieren und Ausführen von Tests benötigt. Sie sind nicht im Laufzeit- oder Endpaket enthalten.
  • System: Der Systembereich ähnelt dem bereitgestellten Bereich, Sie müssen jedoch das JAR angeben, das Maven verwenden wird. Das JAR muss im Systempfad vorhanden sein.

Transitive Abhängigkeiten

Eine der leistungsstarken Funktionen von Maven besteht darin, dass es transitive Abhängigkeiten verarbeiten kann. Wenn ein Projekt eine Abhängigkeit deklariert, bezieht Maven automatisch nicht nur diese Abhängigkeit ein, sondern auch ihre Abhängigkeiten, die Abhängigkeiten ihrer Abhängigkeiten usw. Diese Kette von Abhängigkeiten wird als transitive Abhängigkeiten bezeichnet. Zur Verdeutlichung: Stellen Sie sich vor, Ihr Projekt hängt von Spring-Boot-Starter-Web ab. Jetzt enthält Maven auch alle Bibliotheken, von denen Spring-Boot-Starter-Web abhängt, wie Spring Core, Spring MVC und Jackson.

Nachdem Sie nun die Theorie kennen, wie Maven Abhängigkeiten verwaltet, sehen wir uns nun an, wie man damit in der Praxis arbeitet:

mvn dependency:resolve

Dieser Befehl kann alle für Ihr Projekt erforderlichen Abhängigkeiten auflösen und anzeigen. Sie können damit sehen, von welchen Bibliotheken Ihr Projekt abhängt, und sicherstellen, dass alles in Ordnung ist.

mvn dependency:tree

Mit diesem Befehl können Sie eine Baumstruktur Ihrer Projektabhängigkeiten erstellen. Es zeigt, wie die einzelnen Abhängigkeiten zusammenhängen, und hilft bei der Identifizierung potenzieller Konflikte.

mvn dependency:analyze

Dieser Befehl analysiert die Abhängigkeiten Ihres Projekts, um ungenutzte Artefakte zu finden. Es hilft Ihnen, Ihr Projekt aufzuräumen und unnötiges Aufblähen zu vermeiden.

Die Abhängigkeitsverwaltungsfunktionen von Maven vereinfachen Ihren Entwicklungsprozess. Sie helfen Ihnen außerdem dabei, häufige Fallstricke zu vermeiden und eine saubere, organisierte Projektstruktur aufrechtzuerhalten.

Ausführung

Die Ausführung in Maven beinhaltet die Ausführung bestimmter Aufgaben oder Ziele innerhalb des Projekts. Diese Aufgaben können vom Ausführen von Java-Programmen bis zum Ausführen externer Skripte oder Befehle reichen. Maven bietet leistungsstarke Plugins, um diese Ausführungen zu vereinfachen. Dies ist eine weitere Funktion von Maven, die es zu einem großartigen Tool zur Automatisierung verschiedener Teile Ihres Projektworkflows macht. Schauen wir uns also die wichtigsten Maven-Ausführungsbefehle an:

mvn exec:java

Mit diesem Befehl können Sie eine Java-Klasse in Ihrem Projekt ausführen. Es ist nützlich, um Hauptklassen auszuführen oder eigenständige Java-Programme zu testen, ohne sie vorher zu packen.

mvn exec:exec

Mit diesem Befehl können Sie jedes externe Programm oder Skript aus der Maven-Umgebung ausführen. Sie können es zum Ausführen von Shell-Skripten, externen Tools oder anderen Programmen verwenden, die Teil Ihres Build-Prozesses sind.

Die Ausführungsbefehle in Maven helfen Ihnen bei der Automatisierung wiederkehrender Aufgaben. Sie können sie auch verwenden, um externe Tools und Skripte in Ihren Maven-Build-Lebenszyklus zu integrieren. Insgesamt können sie Ihnen also dabei helfen, Ihre Aufgaben viel effektiver zu bewältigen.

Server- und Containerverwaltung

Die Verwaltung von Servern und Containern ist ein wichtiger Schritt bei der Entwicklung und Bereitstellung von Webanwendungen. Maven erleichtert diesen Prozess mit leistungsstarken Plugins, die es Ihnen ermöglichen, Webanwendungen auf verschiedenen Servern und Containern direkt aus Ihrem Build-Prozess auszuführen, bereitzustellen und zu verwalten. Hier sind einige wichtige Maven-Befehle zum Verwalten von Servern und Containern:

mvn tomcat7:run

Mit diesem Befehl wird Ihre Webanwendung ausgeführt Apache Tomcat. Es ist nützlich für die lokale Entwicklung und das Testen und ermöglicht Ihnen die schnelle Bereitstellung und das Testen Ihrer Webanwendung, ohne eine vollständige Serverumgebung einzurichten.

mvn jetty:run

Dieser Befehl führt Ihre Webanwendung über einen beliebten Webserver namens aus Anlegestelle. Wie Tomcat eignet sich Jetty aufgrund seiner einfachen und schnellen Bereitstellungsmöglichkeiten hervorragend für Entwicklung und Tests.

So funktioniert das Server- und Containermanagement

Maven verwendet Plugins wie tomcat7-maven-plugin Und Jetty-Maven-Plugin um den Serverbetrieb zu verwalten. Mit diesen Plugins können Sie Server im Rahmen Ihres Build-Lebenszyklus starten, stoppen und konfigurieren. Dadurch wird das Entwickeln und Testen von Webanwendungen in einer konsistenten Umgebung viel einfacher. Durch die Verwendung von Maven-Profilen zum Definieren von Serverkonfigurationen für verschiedene Umgebungen können Sie verschiedene Einstellungen für Entwicklung, Tests und Produktion verwalten. Mit dieser Funktion von Maven können Sie auch die Protokollierung und Überwachung innerhalb Ihrer Server-Plugins konfigurieren. So können Sie die Serveraktivitäten verfolgen und Probleme schnell beheben.

SCM (Source Control Management)

Ein wichtiger Aspekt jedes Entwicklungsprojekts ist das Source Control Management (SCM). Entwicklungsteams benötigen SCM, um Änderungen am Quellcode im Laufe der Zeit zu verwalten. Maven verfügt über eine Reihe von Befehlen für die Interaktion mit SCM-Systemen wie Git, Subversion und anderen. Diese Befehle können verschiedene Aufgaben automatisieren, z. B. das Einchecken von Code, das Auschecken von Code und das Aktualisieren von Projektversionen. Hier sind einige der wichtigsten Maven SCM-Befehle und ihre Optionen:

mvn scm:checkin

Mit diesem mvn-Befehl können Sie die Änderungen des Projekts in den SCM einchecken. Dieser Befehl hilft dabei, den Prozess des Festschreibens von Änderungen am Quellcodeverwaltungs-Repository zu automatisieren. Daher werden die neuesten Updates auf jeden Fall gespeichert und mit dem Team geteilt.

mvn scm:checkout

Dieser Maven-Befehl wird zum Auschecken des Projektcodes aus dem SCM-Repository verwendet und ist nützlich, um eine lokale Kopie des Projekts zu erhalten. So sind Sie immer sicher, dass Sie mit der aktuellsten Version des Quellcodes arbeiten.

mvn scm:update

Dieser MVN-Befehl aktualisiert die lokale Arbeitskopie des Projekts mit den neuesten Änderungen aus dem SCM-Repository. Die Aufgabe dieses Befehls besteht darin, sicherzustellen, dass Ihre lokale Codebasis mit dem Repository synchronisiert ist und alle neuen Änderungen enthält, die von anderen Teammitgliedern vorgenommen wurden.

mvn scm:status

Dieser mvn-Befehl zeigt den Status der lokalen Arbeitskopie im Verhältnis zum SCM-Repository an. Mit anderen Worten: Es informiert Sie über alle Änderungen, die lokal vorgenommen, aber noch nicht im Repository übernommen wurden.

mvn scm:tag

Mit diesem Befehl wird ein Tag im SCM-Repository erstellt. Tags kennzeichnen bestimmte Punkte im Projektverlauf, beispielsweise Veröffentlichungen oder wichtige Meilensteine.

Maven SCM-Befehle können den Prozess der Verwaltung des Quellcodes Ihres Projekts erheblich rationalisieren. Das Verstehen und Verwenden dieser Befehle wird Ihre Effizienz und Zusammenarbeit innerhalb Ihres Entwicklungsteams verbessern.

GPG (GNU Privacy Guard)

GNU Privacy Guard (GPG) ist eine kryptografische Software, die es Benutzern ermöglicht, Daten und Kommunikation zu verschlüsseln und zu signieren. Im Kontext von Maven wird GPG zum Signieren von Artefakten verwendet, um deren Authentizität und Integrität sicherzustellen. Dies ist wichtig, wenn Sie Artefakte in öffentlichen Repositorys bereitstellen, da Benutzer so überprüfen können, ob die Artefakte nicht manipuliert wurden. Maven bietet mehrere Befehle für die Arbeit mit GPG und erleichtert den Prozess des Signierens und Bereitstellens der Artefakte Ihres Projekts. Sehen wir uns einige dieser Befehle als Beispiele an:

mvn gpg:sign

Mit diesem Maven-Befehl können Sie die Artefakte des Projekts mit GPG signieren. Das Signieren von Artefakten stellt sicher, dass sie von anderen überprüft werden können, und bietet eine Ebene der Sicherheit und des Vertrauens. Dieser Befehl wird häufig während des Build-Prozesses verwendet, um JARs, WARs und andere Arten von Artefakten vor der Bereitstellung zu signieren.

mvn gpg:sign-and-deploy-file

Dieser MVN-Befehl kombiniert das Signieren und Bereitstellen einer Datei in einem einzigen Schritt. Sie können es verwenden, wenn Sie ein Artefakt signieren und es sofort in einem Repository bereitstellen möchten. Dies optimiert Ihren Prozess und stellt sicher, dass Sie ein Artefakt signieren und sofort in einem Repository bereitstellen möchten.

Durch die Integration der GPG-Signierung in Ihren Maven-Build-Prozess können Sie die Sicherheit und Zuverlässigkeit Ihrer Software verbessern. Dadurch wird es für Benutzer einfacher, Ihren Artefakten zu vertrauen und sie zu überprüfen.

Release-Management

Das Release-Management ist in der Softwareentwicklung sehr wichtig. Mit einem effektiven Release-Management können Sie sicherstellen, dass Softwareversionen ordnungsgemäß verwaltet, verpackt und bereitgestellt werden. Maven bietet eine Reihe von Befehlen zur Automatisierung und Optimierung des Release-Prozesses. Schauen wir uns einige Beispiele für Maven-Optionen und -Befehle für das Release-Management an:

mvn release:prepare

Dieser MVN-Befehl wird verwendet, um ein Projekt für eine Veröffentlichung vorzubereiten. Es führt Aufgaben wie die Überprüfung, ob keine nicht festgeschriebenen Änderungen vorhanden sind, und die Aktualisierung der Versionsnummern im aus pom.xml Dateien, Markieren der Version im SCM-System (Source Control Management) und Aktualisieren der pom.xml Dateien in die nächste Entwicklungsversion. Es stellt sicher, dass sich das Projekt in einem stabilen Zustand befindet und zur Veröffentlichung bereit ist.

mvn release:perform

Dieser Befehl führt den eigentlichen Freigabevorgang aus. Es checkt das Projekt aus dem SCM unter dem von ihm erstellten Tag aus Veröffentlichung: vorbereiten Befehl, erstellt das Projekt und stellt die Artefakte im angegebenen Repository bereit. Dieser Befehl stellt sicher, dass die Artefakte auf der Grundlage des genauen Codestatus zum Zeitpunkt der Release-Vorbereitung erstellt werden.

mvn release:clean

Dieser MVN-Befehl entfernt alle Release-Deskriptor-Sicherungsdateien, die während des erstellt wurden Veröffentlichung: vorbereiten Verfahren. Es bereinigt die Umgebung und stellt sicher, dass keine Dateien aus früheren Veröffentlichungsversuchen übrig bleiben. Dieser Befehl sorgt für einen sauberen Arbeitsbereich und verhindert potenzielle Probleme in den nächsten Versionen.

Die Verwendung von Release-Management-Befehlen rationalisiert Release-Prozesse, verbessert die Softwarequalität und stellt sicher, dass Releases effektiv verwaltet werden.

Archetyp

Wenn Sie als Entwickler Projektstrukturen auf Basis vordefinierter Vorlagen erstellen möchten, sollten Sie die Verwendung des Maven Archetype-Plugins in Betracht ziehen. Hier besprechen wir die primären Maven-Befehle, die mit Archetypen verbunden sind.

mvn archetype:generate

Mit diesem MVN-Befehl können Sie ein neues Projekt aus einer vorhandenen Vorlage oder einem „Archetyp“ erstellen. Dieser Befehl führt den Benutzer durch die Auswahl eines Archetyps und die Konfiguration des neuen Projekts. Es hilft Ihnen also, ein gut strukturiertes Projekt einzurichten.

mvn archetype:catalog

Dieser Befehl listet verfügbare Archetypen auf, die zum Generieren neuer Projekte verwendet werden können. Dies ist nützlich, um die verschiedenen von der Maven-Community bereitgestellten Vorlagen zu erkunden und festzustellen, welcher Archetyp am besten zu den Anforderungen Ihres Projekts passt.

Mit diesen beiden Maven-Befehlen können Sie schnell ein neues Projekt starten. Unabhängig davon, ob Sie eine einfache Java-Anwendung oder ein komplexes Unternehmensprojekt starten, bieten Maven-Archetypen einen wertvollen Ausgangspunkt.

Plugin-Verwaltung

Mit Maven-Plugins können Entwickler die Funktionalität von Maven erweitern und verschiedene Aufgaben innerhalb des Build-Lebenszyklus automatisieren. Durch die effektive Verwaltung von Plugins wird sichergestellt, dass Ihr Projekt wartbar bleibt und Builds reproduzierbar sind. In diesem Abschnitt werden wichtige Maven-Plugin-Verwaltungsbefehle behandelt.

mvn plugin:download

Mit diesem Befehl wird ein bestimmtes Maven-Plugin aus dem Repository heruntergeladen. Sie können es verwenden, wenn Sie sicherstellen möchten, dass ein bestimmtes Plugin in Ihrem lokalen Repository verfügbar ist, bevor Sie andere Maven-Befehle ausführen, die davon abhängen.

mvn plugin:help

Dieser Maven-Befehl zeigt detaillierte Informationen und Dokumentation zu einem bestimmten Maven-Plugin an. Sie können es verwenden, wenn Sie die verschiedenen Ziele, Parameter und Konfigurationen verstehen müssen, die für ein Plugin verfügbar sind.

Diese Maven-Plugin-Verwaltungsbefehle verbessern den Build-Prozess, automatisieren Arbeitsabläufe und sorgen für hohe Standards der Projektqualität und -konsistenz.

Montage und Vertrieb

Die Assemblierungs- und Verteilungsfunktionalität von Maven ermöglicht es Entwicklern, ihre Projekte zur Verteilung in verschiedene Formate zu packen. Sie können diese verwenden, um ausführbare JARs, gebündelte Anwendungen oder benutzerdefinierte Distributionen zu erstellen, die Abhängigkeiten und andere Ressourcen enthalten. Hier werden wir wichtige Maven-Befehle für die Assemblierung und Verteilung behandeln.

mvn assembly:assembly

Dieser Befehl erstellt eine Assembly für das Projekt. Eine Assembly ist ein verteilbares Paket, das Binärdateien, Quellcode, Abhängigkeiten und andere Ressourcen enthalten kann. Dieser Befehl verwendet das Assembly-Plugin, um diese Pakete basierend auf dem bereitgestellten Assembly-Deskriptor zu generieren.

mvn assembly:directory

Dieser MVN-Befehl erstellt die Verzeichnisstruktur der Assembly, ohne tatsächlich die Archivdatei zu erstellen. Dieser Befehl eignet sich zum Testen und Überprüfen des Inhalts und der Struktur der Baugruppe vor dem Packen.

Das Erlernen der Verwendung der Assemblierungs- und Verteilungsbefehle von Maven kann Ihnen beim Verpacken und Verteilen Ihrer Anwendungen sehr hilfreich sein.

Befehle zur Site-Generierung

Die Site-Befehle von Maven sind eine großartige Möglichkeit, Projekte zu dokumentieren. Diese Befehle erstellen umfassende Dokumentationswebsites für Ihre Projekte. Hier werden wir die wesentlichen Site-Befehle und ihre Funktionen behandeln:

mvn site

Der Befehl mvn site generiert die Site-Dokumentation des Projekts und enthält Informationen über das Projekt, wie z. B. die Projektzusammenfassung, Abhängigkeitsberichte, Plugin-Nutzung und mehr.

mvn site:deploy

Mit diesem Befehl können Sie die generierte Site auf einem Remote-Server bereitstellen. Dies ist nützlich, um die Dokumentation einem breiteren Publikum zugänglich zu machen, beispielsweise Teammitgliedern oder der Öffentlichkeit.

mvn site:stage

Dieser Befehl stellt die Site in einem lokalen Verzeichnis bereit. Mit diesem Befehl können Sie eine lokale Vorschau der Site anzeigen, bevor Sie sie auf dem Remote-Server bereitstellen.

Eine ordentliche und organisierte Dokumentation ist bei der Entwicklung eines Projekts so wichtig. Mit dem Maven-Site-Befehl können Sie alles an Ort und Stelle haben und die Kommunikation innerhalb der Entwicklungsteams verbessern.

WAR- und JAR-Befehle

Als Entwickler wissen Sie sicherlich, dass es im Entwicklungsprozess so wichtig ist, Ihre Anwendungen in verschiedene Formate packen zu können. Mit Maven können Sie Java-Anwendungen in verschiedene Formate packen, einschließlich WAR-Dateien (Web Application Archive) und JAR-Dateien (Java Archive). Die Bedeutung dieser Paketformate wird deutlich, wenn Sie Anwendungen auf Servern bereitstellen und Bibliotheken verteilen möchten. Hier behandeln wir die wichtigsten MVN-Befehle zum Generieren von WAR- und JAR-Dateien:

mvn war:war

Dieser Befehl kompiliert Ihr Projekt und packt es in eine WAR-Datei. Wenn Sie diesen Befehl ausführen, generiert Maven eine WAR-Datei im Zielverzeichnis Ihres Projekts.

mvn jar:jar

Dieser Befehl kompiliert Ihr Projekt und packt es in eine JAR-Datei im Zielverzeichnis Ihres Projekts.

Diese beiden Befehle helfen Ihnen bei der Bereitstellung und Verteilung. So können Sie damit Ihre Java-Anwendungen effizient verwalten und verteilen.

Berichterstattung

Jedes Softwareprojekt benötigt detaillierte Berichte, um den Fortschritt zu verfolgen. Und Maven verfügt über leistungsstarke Plugins und MVN-Befehle zum Generieren verschiedener Arten von Berichten. In diesem Abschnitt werden zwei Maven-Plugins behandelt, die Sie für die Berichterstellung verwenden können: Surefire und JaCoCo.

Surefire-Plugin

Sie können dieses Plugin zum Ausführen von Unit-Tests in einem Maven-Projekt verwenden. Es generiert detaillierte Berichte über die durchgeführten Tests, sodass Sie sicher sein können, dass sich der Code so verhält, wie Sie es erwarten.

mvn surefire-report:report

Dieser Befehl generiert einen Unit-Testbericht in einem Format, das leicht zu lesen und zu analysieren ist. Mit diesem Befehl erstellt Maven einen HTML-Bericht im Ziel/Standort Verzeichnis Ihres Projekts. Dieser Bericht enthält Informationen zur Anzahl der ausgeführten, bestandenen und fehlgeschlagenen Tests sowie detaillierte Stack-Traces für etwaige Fehler.

JaCoCo-Plugin

Mit diesem Plugin können Sie die Codeabdeckung durch Unit-Tests messen und melden. So können Sie sicherstellen, dass Ihre Tests die Codebasis abdecken.

mvn jacoco:report

Wenn Sie sehen möchten, welche Teile des Codes getestet wurden und welche nicht, erhalten Sie mit diesem Befehl einen Codeabdeckungsbericht. Der von diesem Befehl erstellte Bericht ist ein HTML-Bericht im Ziel/Site/Jacoco Verzeichnis, das detaillierte Abdeckungsmetriken für Klassen, Methoden und Codezeilen anzeigt.

Diese beiden Plugins helfen Ihnen, Testergebnisse und Codeabdeckung zu verfolgen und geben Ihnen nützliche Einblicke in den Zustand und die Qualität Ihrer Codebasis.

Build-Anpassung

Mit Maven können Sie den Build an die spezifischen Anforderungen Ihres Projekts anpassen. In diesem Abschnitt erfahren Sie, wie Sie Maven-Profile und Eigenschaftsdefinitionen für die Build-Anpassung verwenden.

Maven-Profile

Mit Maven-Profilen können Sie verschiedene Konfigurationen für Ihr Projekt definieren, die basierend auf verschiedenen Faktoren wie Systemeigenschaften, Umgebungsvariablen oder benutzerdefinierten Bedingungen aktiviert werden können. Das bedeutet, dass Sie den Build-Prozess für verschiedene Umgebungen wie Entwicklung, Test und Produktion anpassen können. Sie können Profile in Ihrem definieren pom.xml Datei unter der <Profile> Abschnitt. Und die -p Option gefolgt von der Profil-ID aktiviert das Profil für Sie.

Eigenschaftsdefinitionen

Mit Maven-Eigenschaften können Sie Werte definieren, die im gesamten Prozess wiederverwendet werden können pom.xml Datei. Diese Eigenschaften können im angegeben werden pom.xml, über die Befehlszeile oder in externen Eigenschaftendateien. Sie können Eigenschaften im definieren <Eigenschaften> Abschnitt Ihres pom.xml. Nachdem Sie sie definiert haben, können Sie diese Eigenschaften überall verwenden pom.xml Datei.

Durch Anpassen des Build-Prozesses in Maven können Sie Ihr Projekt an unterschiedliche Umgebungen und Anforderungen anpassen. Durch die Verwendung von Profilen können Sie zwischen verschiedenen Build-Setups wechseln und durch die Verwendung von Eigenschaften können Sie Werte effizient wiederverwenden und verwalten.

Abschluss

Dieser Blog bietet eine umfassende Einführung in Maven und führt Sie durch jeden Schritt des Prozesses der Entwicklung einer Java-Anwendung. Als leistungsstarkes Automatisierungstool für Java-Projekte verfügt Maven über unterschiedliche Befehle und Funktionen für jede Phase der Entwicklung. Wenn Sie wissen, wie Sie mit diesen Befehlen arbeiten und sie im Griff haben, verbessern Sie die Qualität Ihres Entwicklungsprozesses.

FAQ

Wofür wird Maven verwendet?

Maven ist ein Build-Automatisierungs- und Projektmanagement-Tool für Java-Projekte. Es vereinfacht den Build-Prozess, verwaltet Projektabhängigkeiten und bietet eine standardisierte Projektstruktur. Maven unterstützt auch Projektdokumentation, Berichterstellung und Verteilung.

Was ist POM in Maven?

Maven ist ein Tool, das den Build-Prozess und das Abhängigkeitsmanagement für Java-Projekte automatisiert. POM (Project Object Model) ist eine XML-Datei in Maven, die Informationen über das Projekt und Konfigurationsdetails enthält, die Maven zum Erstellen des Projekts verwendet. Die POM-Datei definiert Projektabhängigkeiten, Plugins, Ziele und andere Build-Konfigurationen.

Aktie

Mehr aus dem Blog

Lesen Sie weiter.

Odoo-Rezensionsbild mit großem Überschriftentext auf der linken Seite und dem Odoo-Logo auf der rechten Seite, umgeben von schwebenden App-Interface-Panels in einem zartvioletten Hintergrund mit Wolkenmotiv.
Web- und Business-Apps

Eine umfassende Odoo-Bewertung: Ist Odoo das richtige ERP für Ihr Unternehmen?

Odoo ist eine der am weitesten verbreiteten ERP-Plattformen für wachsende Unternehmen, und das aus einem einfachen Grund: Es verspricht viel an einem Ort. Verkauf, Buchhaltung, Inventur

Jim SchwarzJim Schwarz 11 Min. Lektüre
Open-Source-WordPress-Alternativen bieten ein Bild mit buntem Hintergrund mit Farbverlauf, einen Desktop-Monitor, einen Code-Editor, eine verschwommene Dashboard-Vorschau und einen großen Überschriftentext auf der linken Seite.
Web- und Business-Apps

Beste Open-Source-WordPress-Alternativen, maßgeschneidert für Entwickler

WordPress ist nach wie vor wichtig und bedient eine Vielzahl von Websites immer noch gut. Sein Plugin-Verzeichnis beherbergt über 62.000 Plugins und sein Theme-Verzeichnis bietet über 14.000 kostenlose Themes. Das

Jim SchwarzJim Schwarz 14 Min. Lektüre
Automad vs. WordPress-Funktionsbild mit den Logos beider Plattformen und einer Überschrift mit der Frage, welches CMS-Entwickler wählen sollte.
Web- und Business-Apps

Automad vs. WordPress: Ein ausführlicher Vergleich zwischen zwei der besten CMS-Plattformen

Automatad und WordPress lösen dieselbe Aufgabe auf zwei sehr unterschiedliche Arten. Automad ist ein Flat-File-CMS und eine Template-Engine, sodass Inhalte in Dateien und nicht in einer Datenbank gespeichert sind, aber WordPress,

Jim SchwarzJim Schwarz 9 Min. gelesen

Bereit zur Bereitstellung? Ab 2,48 $/Monat.

Unabhängige Cloud, seit 2008. AMD EPYC, NVMe, 40 Gbit/s. 14 Tage Geld-zurück-Garantie.