what is maven maven tutorial
In diesem einführenden Maven-Tutorial wird erklärt, was Maven ist, warum Maven verwendet wird, seine Definition, grundlegende Terminologien, Arten von Maven-Repository usw.:
In diesem Tutorial werden wir Maven, seine Definition, Übersicht, Betriebsschritte in Maven und die grundlegenden Terminologien in Maven, die von Maven durchgeführten Aktivitäten und die Arten von Maven-Repositorys im Detail untersuchen.
Lasst uns beginnen!!
Liste der Tutorials in dieser Maven-Serie
Tutorial Nr. 1: Was ist Maven - Maven Tutorial für Anfänger (Dieses Tutorial)
Tutorial # 2: Was sind POM (Projektobjektmodell) und Pom.Xml in Maven?
Tutorial # 3: Gradle Vs Maven und Maven Plugins
Tutorial # 4: Maven-Abhängigkeit und Integration mit Eclipse und TestNG
Tutorial Nr. 5: Maven mit Jenkins & Maven Dokumentation für Projekte
Tutorial # 6: 31 Fragen und Antworten zu den am häufigsten gestellten Fragen zu Maven-Interviews
Was du lernen wirst:
Was ist Maven?
Maven ist ein Build- und Projektmanagement-Tool, das im Allgemeinen in in Java erstellten Frameworks verwendet wird. Es wird von der Apache Software Foundation entwickelt. Maven, ein Wort aus der jiddischen Sprache, bedeutet „Wissenssammler“. Es wurde eingeführt, um den Prozess des Auslösens des Baus im Jakarta Turbine Project durchzuführen.
Maven wird von der Datei Project Object Model (pom) gesteuert. Bei der Arbeit mit in Java integrierten Frameworks müssen wir uns häufig mit einer Reihe von Abhängigkeiten auseinandersetzen.
Bevor Maven ins Bild kam, mussten alle Abhängigkeiten, die nichts anderes als JAR-Dateien sind, manuell zu unserem Framework hinzugefügt werden. Außerdem mussten wir uns in unserem Projekt um das Software-Upgrade kümmern.
Fragen zum Interview mit Ruhe- und Seifenwebservices
Maven stellt sicher, dass Projekt-JARs und -Bibliotheken automatisch heruntergeladen werden. In der pom .xml-Datei müssen nur die Informationen zu den Softwareversionen und der Art der Abhängigkeiten beschrieben werden.
Maven kann Projekte in Ruby, C # und anderen Sprachen betreuen. Es übernimmt die Aufgabe, Projekte, deren Abhängigkeiten und Dokumentation zu erstellen.
ANT, ein weiteres von der Apache Software Foundation entwickeltes Tool, wird auch zum Erstellen und Bereitstellen von Projekten verwendet. Aber Maven ist weiter fortgeschritten als ANT. Wie ANT hat Maven den Build-Prozess vereinfacht. Kurz gesagt, Maven hat den Entwicklern das Leben leichter gemacht.
Warum Maven verwenden?
Maven führt die folgenden Aktivitäten aus:
- Repository, um die Abhängigkeiten abzurufen.
- Eine ähnliche Ordnerstruktur im gesamten Unternehmen.
- Integration mit Continuous Integration Tools wie Jenkins.
- Plugins zur Testausführung.
- Es enthält Informationen darüber, wie die Software / das Projekt entwickelt wird.
- Der Erstellungsprozess wird einfacher und konsistenter.
- Bietet Richtlinien für die Best Practices, die im Projekt befolgt werden müssen.
- Verbessert die Projektleistung.
- Einfach zu neuen Attributen von Maven zu wechseln.
- Integration mit Tools zur Versionskontrolle wie Git.
Maven kümmert sich um Prozesse wie Releases, Verteilung, Berichterstellung, Builds, Dokumentation und SCMs. Maven stellt eine Verbindung zum Maven Central-Repository her und lädt sie lokal. Einige der IDEs, die die Projektentwicklung mit Maven unterstützen, sind NetBeans, Eclipse, IntelliJ usw.
Maven sollte in unseren Projekten in den folgenden Szenarien verwendet werden:
- Wenn das Projekt eine große Anzahl von Abhängigkeiten erfordert.
- Wenn die Version der Abhängigkeiten häufig aktualisiert werden muss.
- Wenn das Projekt eine schnelle Dokumentation benötigt, muss der Quellcode kompiliert und in JAR- oder ZIP-Dateien gepackt werden.
Betriebsschritte von Maven
# 1) Zuerst geht Maven die POM-XML-Datei durch.
#zwei) Die Abhängigkeiten werden in das lokale Repository geladen.
#3) Durchläuft die integrierten Lebenszyklen von Maven wie folgt:
- Standard: Kümmert sich um die Bereitstellung des Projekts.
- Sauber: Entfernt alle Fehler, bereinigt dadurch das Projekt und entfernt das Artefakt, das aus dem vorherigen Prozess des Builds erzeugt wurde.
- Seite? ˅: Kümmert sich um die Dokumentation des Projekts.
# 4) Jeder eingebaute Zyklus hat mehrere Phasen. Zum Beispiel, Standard hat dreiundzwanzig Phasen, während sauber und Standort drei bzw. vier Phasen hat.
# 5) Jeder Maven-Zyklus durchläuft mehrere Phasen, in denen eine bestimmte Phase ein bestimmtes Ziel hat.
Einige der wichtigen Phasen sind unten aufgeführt:
- Bestätigen: Überprüft, ob alle Voraussetzungen für den Abschluss des Builds verfügbar sind.
- Kompilieren: Der Quellcode wird kompiliert.
- Testkompilieren: Testquellcode wird kompiliert.
- Prüfung: Unit-Testfälle werden ausgeführt.
- Paket: Der Quellcode wird kompiliert und in JAR- oder ZIP-Dateien gepackt.
- Integrationstest: Das Paket wird bereitgestellt, und wenn Probleme auftreten, werden Integrationstestfälle ausgeführt.
- Installationspaket: Es wird im lokalen Repository installiert.
- Bereitstellen: Eine Kopie des Pakets wird aus dem Remote-Repository zur Verfügung gestellt.
Diese Phasen müssen der Reihe nach ausgeführt werden. Auch wenn die bereitstellen Phase, d. h. die Endphase des Maven-Zyklus muss ausgeführt werden, dann müssen alle vorherigen Phasen dieses Zyklus erfolgreich abgeschlossen werden.
An der Eingabeaufforderung werden die Phasen folgendermaßen ausgeführt:
mvn , zum Beispiel, mvn validieren
# 6) Eine Gruppe von Maven-Zielen bildet eine Phase. Genau wie in den Phasen von Maven muss jedes Ziel in einer bestimmten Reihenfolge ausgeführt werden.
Ein Ziel hat die folgende Syntax:
Plugin: Ziel
Hier haben wir einige der Phasen zusammen mit den damit verbundenen Zielen besprochen:
- compiler: compile (wird in der Kompilierungsphase verwendet)
- Compiler: Test (wird in der Phase der Testkompilierung verwendet)
- todsicher: Test (wird in der Testphase verwendet)
- install: install (wird in der Installationsphase verwendet)
- jar: war (wird in der Verpackungsphase verwendet)
- Krieg: Krieg (wird in der Verpackungsphase verwendet)
Die Arbeitsschritte zur Funktionsweise von Maven sind nachstehend schematisch dargestellt:
Terminologien in Maven
- POM : Es steht für Project Object Model. Es handelt sich um eine XML-Datei mit Informationen zum Projekt, den im Projekt vorhandenen Abhängigkeiten, dem Verzeichnis der Quelldatei, Plugin-Informationen usw. Dies sind die notwendigen Daten, damit Maven das Projekt vollständig erstellen kann. Maven liest die POM-Datei, um all diese Informationen zu erhalten.
Das Maven-Projekt in der Eclipse-IDE mit einem Code-Snippet aus der POM-XML-Datei wird unten gezeigt.
- Gruppen-ID : Erkennt unser Projekt eindeutig aus allen Projekten. GroupId ist ein Teil der POM-Datei. Es wird oft als Identität für die Gruppe von Projekten gesagt.
- Artefakt-ID : Eine JAR-Datei, die im Maven-Repository bereitgestellt wird. ArtifactId ist ein Teil der POM-Datei. Es wird oft als Identität und Name unseres Projekts gesagt.
- Ausführung : Gibt die Version des JAR des Projekts an. Die Version ist auch Teil der POM-Datei.
Wie im obigen Bild dargestellt, können wir das sehen, und Tags bilden den Teil der für das Projekt definierten Abhängigkeiten.
- Maven Central Repository : Dies ist der Platzhalter, in dem Jars, Bibliotheken, Plugins und Konfigurationsdaten vorhanden sind, die Maven zum Erstellen des Projekts benötigt.
Wenn wir Selenium-Abhängigkeiten in unser Projekt aufnehmen möchten, benötigen wir das folgende Code-Snippet zur POM-Datei.
org.seleniumhq.selenium selenium-java 4.0.0-alpha-5
Aus den mehreren Projekten, die im zentralen Maven-Repository gespeichert sind, wird Selen mithilfe der groupId identifiziert. Ebenso ist ArtifactId wie ein Teilprojekt unter der groupId.
Zum Beispiel, Selenium-Code wird von Sprachen wie Java, C # usw. unterstützt. Aus der Artefakt-ID geht hervor, dass wir nur eine Verbindung zu den mit Java verknüpften JARs herstellen. Die Version der JAR, die dem Projekt zugeordnet werden soll, ist ebenfalls Teil der Abhängigkeiten.
Wir können auch unser eigenes Projekt im Maven-Repository veröffentlichen, indem wir diese drei Informationen bereitstellen.
Maven Repository
Es gibt drei Arten von Maven Repository:
- Lokales Repository
- Remote-Repository
- Zentrales Repository
Sobald Maven die Abhängigkeiten aus der POM-Datei liest, durchsucht er sie zuerst im lokalen Repository, dann im zentralen und schließlich im Remote-Repository. Wenn die Abhängigkeiten in keinem der drei Repositorys gefunden werden, wird der Benutzer mit einem Fehler benachrichtigt und der Prozess gestoppt.
# 1) Maven Local Repository
Das lokale Repository befindet sich in unserem lokalen System - meistens in .m2 Verzeichnis (C: / Users / superdev /.m2), das seine Anwesenheit anzeigt, sobald Maven in unserem System installiert ist und wir einen Maven-Befehl erfolgreich ausführen konnten.
Es ist auch möglich, diesen Speicherort in settings.xml (MAVEN_HOME / conf /settings.xml) mit Hilfe von zu ändern localRepository Etikett.
Unterhalb des XML-Code-Snippets wird gezeigt, wie Sie die Speicherorte des lokalen Repositorys ändern:
C: Maven m2 # 2) Maven Central Repository
Zentrales Repository wird von der Apache Maven-Gruppe entwickelt und im Web gehostet. Dies wird als zentrales Repository betrachtet und verfügt über alle gemeinsamen Bibliotheken. Wie bei einem lokalen Repository können wir auch den Speicherort ändern, an den sie standardmäßig heruntergeladen werden sollen, indem wir die Datei settings.xml ändern.
# 3) Maven Remote Repository
Das Remote-Repository wird auch im Web gehostet. In einigen Szenarien kann ein Unternehmen ein eigenes Remote-Repository entwickeln und Bereitstellungen für seine privaten Projekte durchführen. Diese werden Eigentum des jeweiligen Unternehmens sein und können nur innerhalb dieses Unternehmens betrieben werden.
kostenlose Backup-Software für externe Festplatte
Das Remote-Repository weist ähnliche Arbeitsmuster auf wie ein zentrales Repository. Wenn Abhängigkeiten oder Konfigurationen von diesen Repositorys erforderlich sind, müssen diese zuerst in unser lokales Verzeichnis heruntergeladen und dann verwendet werden.
Ein Beispiel für einen XML-Code für das Remote-Repository mit der ID und der URL wird unten angezeigt.
com.src.repository http://maven.comp.com/maven2/
Fazit
Wir hoffen, dass Sie eine klare Vorstellung davon haben, was Maven ist, warum wir Maven verwenden, Betriebsschritte für Maven, Maven-Zyklen, Phasen, Ziele, grundlegende Terminologien für Maven und die Arten von Maven-Repositorys.
In unserem nächsten Tutorial werden wir untersuchen, wie Sie ein Projekt in Maven erstellen, die für Maven eingerichtete Umgebung und viele andere verwandte Themen.
Literatur-Empfehlungen
- Integration von Maven mit TestNg unter Verwendung des Maven Surefire Plugins
- AWS CodeBuild Tutorial: Extrahieren von Code aus Maven Build
- Konfigurieren von Maven mit Eclipse Java IDE
- Was sind POM (Projektobjektmodell) und pom.xml in Maven?
- Gradle Vs Maven und Maven Plugins
- Maven mit Jenkins & Maven Dokumentation für Projekte
- 31 Fragen und Antworten zu den am häufigsten gestellten Fragen zu Maven-Interviews
- Maven-Abhängigkeit und Integration mit Eclipse und TestNG