Maven ist ein leistungsstarkes Projektmanagement-Tool, das den Build-Prozess für Java-basierte Projekte vereinfacht. In diesem einführenden Leitfaden werden wir die wichtigsten Funktionen und Vorteile von Maven kennenlernen.
Was gibt’s Neues? Heute werden wir über Maven sprechen.
Wir beginnen mit einer kurzen Einführung und listen dann die Vorteile der Verwendung von Maven auf. Danach sehen wir uns den Installationsprozess an und lernen einige Fachbegriffe kennen, die für einen Anfänger unerlässlich sind. Also, fangen wir an!
Was ist Maven?
Apache Maven ist eine Projektmanagement-Software, und wir können sagen, dass es sich um ein umfassendes Tool handelt. Es basiert auf dem Konzept des Projektobjektmodells (POM) [auf das wir später in den Artikeln eingehen werden]; Maven kann die Erstellung, die Berichterstattung und die Dokumentation eines Projekts von einer zentralen Stelle aus verwalten.
Apache Maven ist ein Build-Tool und erledigt die Aufgabe genauso wie Ant, das ebenfalls ein außergewöhnliches Build-Tool ist. Es handelt sich um ein Software-Projektmanagement-Tool, das ein neues Konzept des Projektobjektmodells (POM) bietet.
Maven ermöglicht es dem Entwickler, die Erstellung des Originalordnerformats, die Zusammenstellung und das Testen sowie die Verpackung und Bereitstellung der endgültigen Ausgabe zu automatisieren. Es reduziert die beträchtliche Anzahl von Schritten im Basisprozess und macht die Erstellung eines Builds zu einem Ein-Schritt-Prozess.
Warum wird Maven verwendet?
Zusammenfassend lässt sich sagen, dass Maven den Build-Prozess eines Projekts vereinfacht und standardisiert. Es sorgt für eine nahtlose Zusammenarbeit im Team, Kompilierung, Verteilung, Dokumentation und separate Aufgaben.
Maven erhöht die Wiederverwendbarkeit und kümmert sich um die meisten mit dem Build verbundenen Aufgaben. Es hilft bei vielen Schritten wie dem Hinzufügen von Jars zur Projektbibliothek, dem Erstellen von Berichten, dem Ausführen von Junits-Testfällen, dem Erstellen von Jar-, War- und Ear-Dateien für das Projekt und noch vielen anderen Dingen.
Ein sehr wichtiger Aspekt von Maven ist der Zweck von Repositories zur Verwaltung von Jar-Dateien.
Maven kann auch für die Erstellung und Verwaltung von Projekten verwendet werden, die in Sprachen wie C#, Ruby und anderen Programmiersprachen geschrieben wurden.
Werfen wir einen Blick auf die folgenden Vorteile von Maven.
Konvention über Konfiguration
- Seine Konfiguration ist sehr minimal.
- Es verwaltet Abhängigkeiten.
Mehrere/wiederholte Builds können durchgeführt werden
- Automatisierung macht es einfach.
Plugin-Verwaltung, -Tests und -Entwicklung
- Es bietet die Möglichkeit, JUnit und andere Integrationstests auszuführen.
- Es macht den Entwicklungsprozess übersichtlich.
Vorkehrungen zur Überprüfung des Status jedes Builds
- Es vermeidet inkonsistente Setups.
- Standardisierte und einheitliche Infrastruktur für alle Projekte.
Architektur von Maven
Das Verständnis der Architektur von Maven, die auf dem Project Object Model (POM) basiert, wird das konzeptionelle Verständnis hervorheben, das ein vollständiges Verständnis des Build-Frameworks ermöglicht.
Die Architektur von Maven ist wie unten dargestellt:
Die Architektur zeigt das gesamte Build Lifecycle Framework mit Lebenszyklen, Phasen, Zielen, Plugins und anderen Aufgaben von Anfang an.
Die folgenden Schritte sind in der Architektur von Maven aufgeführt:
- Erster Schritt: Erfordert die Einrichtung von Maven, das eine pom.xml-Datei verwendet. Alle Konfigurationen von Maven befinden sich in der POM-Datei.
- Zweiter Schritt: Laden Sie die pom.xml-Abhängigkeiten aus dem zentralen Repository in das lokale Repository herunter.
- Dritter Schritt: Nachdem der Benutzer die Arbeit in Maven aufgenommen hat, bietet das Tool verschiedene Standardeinstellungen an, so dass es nicht notwendig ist, jede Konfiguration in der pom.xml hinzuzufügen.
Maven Build Lebenszyklus
Der Maven Build-Lebenszyklus ist eine Abfolge von Schritten, die befolgt werden müssen, um ein Projekt zu erstellen.
Nachfolgend finden Sie eine Übersicht über die Phasen des Build-Lebenszyklus:
Einige der wichtigsten Phasen sind die folgenden:
- Validieren: Es wird bestätigt, dass alle für den Build erforderlichen Daten vorhanden sind.
- Kompilieren: Der Quellcode wird kompiliert.
- Test-Kompilieren: Es wird der Quellcode für die Tests erstellt.
- Testen: Die Unit-Tests werden damit ausgeführt.
- Paketieren: Es wandelt den kompilierten Quellcode in ein zugängliches Format um (jar, war, etc.).
- Installieren: Die Software wird in einem lokalen Repository installiert.
- Bereitstellen: Kopien des Pakets werden in das entfernte Repository übertragen.
In Maven gibt es drei eingebaute Lebenszyklen:-
- Standard: Von der Validierung bis zur Bereitstellung umfasst er 21 Phasen.
- Bereinigen: Das Projekt wird ordnungsgemäß aufgeräumt, und alle Dateien, die durch den vorherigen Build erstellt wurden, werden gelöscht. In diesem Zyklus gibt es drei Phasen.
- Website: Die Website-Dokumentation des Projekts wird in diesem Schritt erstellt und umfasst vier Phasen.
Repository in Maven
Es gibt drei Arten von Maven Repositories:-
- Lokales Repository: Es verwendet einen lokalen Computer, um Repositories zu speichern.
- Zentrales Repository: Die Maven-Community ist ein zentrales Repository und Maven lädt die Abhängigkeiten bei Bedarf von diesem Ort herunter.
- Entferntes Repository: Maven lädt Abhängigkeiten herunter, die sich auf einem Webserver befinden.
Vorteile von Maven
Maven ist eines der beliebtesten Open-Source-Tools zur Automatisierung und Verwaltung von Builds, das von der Apache Group entwickelt wurde. Es bietet Softwareentwicklern und Unternehmen zahlreiche Vorteile, wie z.B.:
- Verwaltung aller Projektmanagementprozesse, einschließlich Erstellung, Dokumentation, Freigabe und Verteilung.
- Reduziert die Komplexität der Projektentwicklung durch eine standardisierte Projektstruktur.
- Verbessert die Leistung der Projekte und des Entwicklungsprozesses.
- Die Integration verschiedener Plugins hilft bei der Optimierung der Codequalität, der Automatisierung von Aufgaben, der Steigerung der Produktivität usw.
- Das Herunterladen von Jar-Dateien und anderen Abhängigkeiten wird automatisch durchgeführt.
- Erleichtert es dem Entwickler, ein Projekt in vielen Kontexten zu erstellen, ohne sich um Abhängigkeiten, Arbeitsabläufe usw. kümmern zu müssen.
- Das System zur Verwaltung von Abhängigkeiten rationalisiert die Einbindung externer Bibliotheken, verringert die Wahrscheinlichkeit von Versionskonflikten und gewährleistet konsistente und zuverlässige Builds.
- Es rationalisiert den Bereitstellungsprozess und reduziert menschliche Fehler, was zu einer verbesserten Effizienz führt.
Indem sie die Vorteile von Maven nutzen, können Entwicklungsteams die Produktivität und die Qualität des Codes verbessern und hochwertige Software liefern, während die Entwicklungsgemeinschaft insgesamt reduziert wird.
Einrichten der Maven-Umgebung
Die Installation von Maven umfasst die folgenden Schritte:
- Prüfen Sie, ob auf dem System Java installiert ist oder nicht. Wenn nicht, installieren Sie Java
- Prüfen Sie, ob die Java-Umgebungsvariable gesetzt ist oder nicht. Wenn nicht, dann setzen Sie die Java-Umgebungsvariable.
- Maven herunterladen
- Entpacken Sie den Maven-Download an einer Stelle im System.
- Fügen Sie nun das Verzeichnis bin des erstellten Verzeichnisses apache-maven-3.6.2 zur Umgebungsvariablen PATH und zur Systemvariablen hinzu.
- Öffnen Sie cmd und führen Sie den Befehl
mvn -v
aus, um die Installation zu bestätigen.
Das war’s schon
Um die detaillierten Schritte der Installation zu erfahren, folgen Sie der unten stehenden YouTube-Anleitung zur Einrichtung der Maven-Umgebung, denn wir wollen diesen Artikel nicht einfach nur lesen und auch nicht langweilig machen.
Da es sich um eine Anleitung für Anfänger handelt, muss sie auch Fachbegriffe im Zusammenhang mit MAVEN enthalten. Hier sind also einige, die sehr wichtig sind:
Maven Lokales Repository
Maven Local Repository ist der Satz, in dem Maven alle Projekt-Jars-Dateien oder Bibliotheken oder Abhängigkeiten speichert. Standardmäßig ist der Ordnername auf ‘.m2’ festgelegt und der Speicherort ist standardmäßig ‘Libraries\Documents\.m2’.
Maven Zentrales Repository
Das zentrale Maven-Repository ist der Standard-Speicherort für Maven zum Herunterladen aller Bibliotheken, von denen das Projekt abhängt, zur Verwendung. Für jede Bibliothek, die in das Projekt involviert ist, schaut Maven zuerst in den Ordner .m2 des lokalen Repositorys und wenn es die benötigte Bibliothek nicht findet, sucht es im zentralen Repository und lädt die Bibliothek in das lokale Repository.
Maven POM
POM ist eine Project Object Model XML-Datei, die Informationen über das Projekt und Konfigurationsdetails enthält, die Maven für die Entwicklung des Projekts benötigt.
Sie enthält Standardwerte für die meisten Projekte. Einige der Strukturen, die in der POM definiert werden können, sind die Projektabhängigkeiten, Plugins, die ausgeführt werden können, und natürlich die Build-Profile.
Verwendete Elemente bei der Erstellung der Datei pom.xml
- project- Das Projekt ist das Wurzelelement der pom.xml-Datei.
- modelVersion- Es bezeichnet die Version des POM-Modells, mit dem Sie arbeiten.
- groupId- Dies ist die ID für die Projektgruppe. Sie ist eindeutig und meistens werden Sie eine Gruppen-ID verwenden, die mit dem Namen des Root-Java-Pakets verbunden ist.
- artifactId- Hier wird der Name des Projekts angegeben, das Sie erstellen.
- Version- Dieses Element besteht aus der Versionsnummer des Projekts. Wenn Ihr Projekt in verschiedenen Versionen veröffentlicht wurde, ist es sinnvoll, die Version Ihres Projekts anzugeben.
Schlüsselwort Dependency
Abhängigkeiten sind die Bibliotheken, die für das Projekt benötigt werden. Log4j Jars, Apache Poi Jars und Selenium Jars sind einige der Bibliotheken, die für das Projekt benötigt werden. Abhängigkeiten werden in der Maven pom.xml wie folgt erwähnt:
com.companyname.groupnameApp-Core-lib1.0
Surefire-Plugin
Das Surefire Plugin wird während der Testphase des Build-Lebenszyklus benötigt, um die Unit-Tests einer Anwendung zu implementieren. Es erstellt Berichte in 2 verschiedenen Dateiformaten – einfache Textdateien, XML-Dateien und auch HTML-Dateien. Auch wenn Sie Junits Framework oder TestNG für die Berichterstattung verwenden, ist dieses Plugin ein Muss, da es Maven hilft, Tests zu finden.
Praktische Anwendung von Maven
Wenn Sie an einem bestimmten Java-Projekt arbeiten und dieses Projekt eine Vielzahl von Abhängigkeiten, Builds und Anforderungen hat, ist die manuelle Bearbeitung all dieser Dinge äußerst komplex und mühsam. Daher ist die Verwendung von Tools, die diese Arbeiten erledigen können, wirklich hilfreich.
Maven ist ein solches Tool für die Build-Verwaltung, das alle Aufgaben wie das Hinzufügen von Abhängigkeiten, die Verwendung des Klassenpfads für ein Projekt, die automatische Erstellung von war- und jar-Dateien und viele weitere Aufgaben übernehmen kann.
Letzte Worte
Maven ist sehr nützlich, wenn es um die Erstellung von Projekten geht. Ich wünsche Ihnen viel Erfolg bei Ihrem JAVA-Projekt. Wenn Sie auf der Suche nach einem Video-Tutorial sind, können Sie sich den Maven-Crashkurs ansehen.