Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Einführung in Maven - Ein einfaches Projektmanagement-Tool

MAVEN
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Erfahren Sie mehr über Apache Maven - Ein Build Automation Tool

Was geht Leute! Heute werden wir über Maven sprechen.

Wir werden mit dem schnellen Intro beginnen und dann die Vorteile der Verwendung auflisten. Nach all dem sehen wir den Installationsprozess und dann einige technische Begriffe, die für einen Anfänger wesentlich sind. Also lasst uns anfangen!

What is Maven?

Apache Maven ist eine Projektmanagement-Software, und wir können sagen, dass es sich um ein Verständniswerkzeug handelt. Es basiert auf dem Konzept des Projektobjektmodells (POM) [wird später in den Artikeln erläutert]. Maven kann die Erstellung, Berichterstellung und Dokumentation eines Projekts anhand einer zentralen Information verwalten.

Apache Maven ist ein Build-Tool und erledigt die Aufgabe genau wie Ant, das wiederum ein außergewöhnliches Build-Tool ist. Dies ist ein Software-Projektmanagement-Tool, das ein neues Konzept des Projektobjektmodells (POM) liefert. Mit Maven kann der Entwickler die Erstellung des ursprünglichen Ordnerformats automatisieren, das Sortiment und die Tests durchführen sowie die endgültige Ausgabe verpacken und bereitstellen. Es reduziert die beträchtliche Anzahl von Schritten im Basisprozess und macht es zu einem Ein-Schritt-Prozess, einen Build durchzuführen.

Why is Maven Used?

Zusammenfassend vereinfacht und standardisiert Maven den Projekterstellungsprozess. Es übernimmt die Teamzusammenarbeit, Kompilierung, Verteilung, Dokumentation und separate Aufgaben nahtlos. Maven erhöht die Wiederverwendbarkeit und erledigt auch die meisten Build-bezogenen Aufgaben. Es funktioniert in vielen Schritten wie dem Hinzufügen von Gläsern zur Projektbibliothek, dem Erstellen von Berichten und dem Ausführen von Junits-Testfällen, dem Erstellen von Jar-, War-, Ear-Dateien für das Projekt und vielen weiteren Dingen.

Ein sehr wichtiger Aspekt von Maven ist der Zweck von Repositorys zur Verwaltung von JAR-Dateien.

Der Maven kann außerdem zum Erstellen und Verwalten von Projekten verwendet werden, die in Sprachen wie C #, Ruby und anderen geschrieben wurden Programmiersprachen.

Werfen wir einen Blick auf die folgenden Vorteile von Maven.

Konvention über Konfiguration

  • Die Konfiguration ist sehr minimal.
  • Es hat Abhängigkeiten zu verwalten.

Es können mehrere / wiederholte Builds erzielt werden

  • Automatisierung macht es einfach.

Verwaltung, Test und Entwicklung von Plugins

  • Es kann JUnit und andere Integrationstests ausführen.
  • Es macht den Entwicklungsprozess klar.

Bestimmungen zum Überprüfen des Status jedes Builds

  • Es vermeidet inkonsistente Setups.
  • Standard- und uniformierte Infrastruktur unter den Projekten.

Architecture of Maven 

Das Verständnis der Architektur von Maven, basierend auf dem Project Object Model (POM), wird das konzeptionelle Verständnis hervorheben, das ein vollständiges Verständnis des Build-Frameworks bietet.

Die Maven-Architektur sieht wie folgt aus: 

Maven-arch

Seine Architektur zeigt das gesamte Build-Lebenszyklus-Framework, einschließlich 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 sind in der POM-Datei vorhanden. 
  • Zweiter Schritt: Laden Sie die pom.xml-Abhängigkeiten aus dem zentralen Repository in das lokale Repository herunter. 
  • Dritter Schritt: Nachdem der Benutzer mit der Arbeit in Maven beginnt, bietet das Tool verschiedene Standardeinstellungen an, sodass nicht jede Konfiguration in der pom.xml hinzugefügt werden muss.

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 die Gliederung der Phasen des Build-Lebenszyklus:

Maven-Build-Zyklus

Einige der wichtigen Phasen sind wie folgt:

  • Bestätigen: Es bestätigt, dass alle für den Build notwendigen Daten vorhanden sind.
  • Kompilieren: Der Quellcode wird kompiliert.
  • Testkompilieren: Es baut den Quellcode für die Tests auf.
  • Test: Unit-Tests werden von ihm ausgeführt.
  • Paket: Es transformiert kompilierten Quellcode in ein zugängliches Format (jar, war, etc.).
  • installieren: Die Software wird in einem lokalen Repository installiert. 
  • Stellen Sie Kopien des Pakets im Remote-Repository bereit.

Es gibt drei eingebaute Lebenszyklen in Maven:-

  • Standard: Von der Validierungsphase bis zur Bereitstellungsphase umfasst es 21 Phasen.
  • Reinigen: Das Projekt wird ordnungsgemäß bereinigt, und alle vom vorherigen Build erstellten Dateien werden gelöscht. Dabei gibt es drei Phasen.
  • Site: Die Website-Dokumentation des Projekts wird in diesem Schritt erstellt und besteht aus vier Phasen.

Repository in Maven

Es gibt drei Arten von Maven-Repositories:-

  • Lokales Repository: Es verwendet einen lokalen Computer zum Speichern von Repositories.  
  • Zentrales Repository: Die Maven-Community ist ein zentrales Repository, und Maven lädt die Abhängigkeiten von diesem Speicherort herunter, wann immer dies erforderlich ist.
  • Remote-Repository: Maven lädt Abhängigkeiten herunter, die sich auf einem Webserver befinden.

Advantages of Maven

Maven ist eines der beliebtesten Open-Source-Tools zur Build-Automatisierung und -Verwaltung, das von der Apache Group entwickelt wurde. Es bietet zahlreiche Vorteile für Softwareentwickler und Unternehmen, wie zum Beispiel:

  • Verwalten Sie alle Projektmanagementprozesse, einschließlich Erstellen, Dokumentieren, Freigeben und Verteilen.
  •  Reduziert die Komplexität der Projektentwicklung durch eine standardisierte Projektstruktur.
  •  Verbessert die Leistung der Projekte und des Entwicklungsprozesses.
  •  Seine verschiedenen Plugin-Integrationen helfen, die Qualität des Codes, die Automatisierung von Aufgaben, die Produktivitätssteigerung usw. zu optimieren.
  •  Das Herunterladen von JAR-Dateien und anderen Abhängigkeiten erfolgt automatisch.
  •  Erleichtert die Fähigkeit des Entwicklers, ein Projekt in vielen Kontexten zu erstellen, ohne sich Gedanken über Abhängigkeiten machen zu müssen, workflows, usw.
  •  Das Abhängigkeitsverwaltungssystem rationalisiert die Einbindung externer Bibliotheken, reduziert die Wahrscheinlichkeit von Versionskonflikten und gewährleistet konsistente und zuverlässige Builds.
  •  Es rationalisiert den Bereitstellungsprozess, wodurch menschliche Fehler reduziert werden, was zu einer verbesserten Effizienz führt.

Durch die Nutzung der Vorteile von Maven können Entwicklungsteams die Produktivität und Qualität des Codes verbessern und qualitativ hochwertige Software liefern, während die gesamte Entwicklungsgemeinschaft reduziert wird.

Setting up Maven Environment

Die Installation von Maven umfasst die folgenden Schritte:

  • Überprüfen Sie, ob auf dem System Java installiert ist oder nicht. Wenn nicht, installieren Sie Java
  • Überprüfen Sie, ob die Java-Umgebungsvariable festgelegt ist oder nicht. Wenn nicht, setzen Sie die Java-Umgebungsvariable.
  • Herunterladen Maven
  • Entpacken Sie den Maven-Download an einer Stelle im System.
  • Fügen Sie nun das bin-Verzeichnis des erstellten Verzeichnisses apache-maven-3.6.2 zur Umgebungsvariablen PATH und zur Systemvariablen hinzu.
  • Öffnen Sie cmd und führen Sie es aus mvn -v Befehl zum Bestätigen der Installation.

Das ist alles

Um die detaillierten Schritte der Installation zu erhalten, folgen Sie der folgenden YouTube-Anleitung zum Einrichten von Maven Environment, da wir diesen Artikel nicht einfach lesen und langweilig machen möchten.

YouTube-Video

Da dies ein Leitfaden für Anfänger ist, muss er technische Begriffe zu MAVEN enthalten. Hier sind einige, die sehr wichtig sind:

Lokales Maven-Repository

Maven Local Repository ist die Gruppe, in der Maven alle Projekt-JAR-Dateien oder -Bibliotheken oder -Abhängigkeiten speichert. Standardmäßig ist der Ordnername auf '.m2' festgelegt, und standardmäßig lautet der Speicherort 'Libraries \ Documents \ .m2'.

Maven-Zentrale Repository

Das zentrale Maven-Repository ist der Standardspeicherort für Maven, an dem alle Projektabhängigkeitsbibliotheken zur Verwendung heruntergeladen werden können. Für jede am Projekt beteiligte Bibliothek sucht Maven zuerst im Ordner .m2 des lokalen Repositorys. Wenn die benötigte Bibliothek nicht gefunden wird, sucht sie im zentralen Repository und lädt die Bibliothek in das lokale Repository.

Maven POM

POM ist eine XML-Datei für das Projektobjektmodell, die Informationen zu den Projekt- und Konfigurationsdetails enthält, die Maven für die Entwicklung des Projekts benötigt. Es enthält Standardwerte für die meisten Projekte. Einige der Strukturen, die im POM definiert werden können, sind die Projektabhängigkeiten, Plugins, die ausgeführt werden können, und natürlich die Build-Profile.

Elemente, die beim Erstellen der Datei pom.xml verwendet werden

  • project- Project ist das Stammelement der Datei pom.xml.
  • modelVersion - Dies ist die Version des POM-Modells, mit dem Sie arbeiten.
  • groupId- Dies impliziert die ID für die Projektgruppe. Es ist eindeutig und meistens wenden Sie eine Gruppen-ID an, die sich auf den Namen des Java-Stammpakets bezieht.
  • Artefakt-ID - Hiermit 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 praktisch, die Version Ihres Projekts zu präsentieren.

Abhängigkeitsschlüsselwort

Abhängigkeiten sind die Bibliotheken, die vom Projekt benötigt werden. Wie Log4j-Gläser, Apache Poi-Gläser und Selenium-Gläser sind nur wenige Bibliotheken für das Projekt erforderlich. Abhängigkeiten in der Maven-Datei pom.xml werden folgendermaßen erwähnt:

com.companyname.groupname App-Core-lib 1.0

Surefire-Plugin

Das Surefire-Plugin wird während der Testphase des Build-Lebenszyklus benötigt, um die Komponententests einer Anwendung zu implementieren. Es werden Berichte in zwei verschiedenen Dateiformaten wie Nur-Text-Dateien, XML-Dateien und auch in HTML-Dateien erstellt. Selbst wenn Sie Junits Framework oder TestNG für die Berichterstellung verwenden, ist dieses Plugin ein Muss, da es Maven hilft, Tests zu finden.

Practical Application Of Maven

Wenn Sie an einem bestimmten Java-Projekt arbeiten und dieses Projekt viele Abhängigkeiten, Builds und Anforderungen aufweist, ist die manuelle Arbeit mit all diesen Dingen äußerst komplex und mühsam. Daher ist die Verwendung einiger Tools, die diese Arbeiten ausführen können, wirklich hilfreich.

Und Maven ist solch ein Build-Management-Tool, das alle Dinge wie das Hinzufügen von Abhängigkeiten, das Verwenden des Klassenpfads zum Projizieren, das automatische Erstellen von Kriegs- und JAR-Dateien und viele neue Dinge ausführen kann.

Conclusion

Dieses Tool ist nützlich, wenn es um Bauprojekte geht. Ich wünsche Ihnen viel Erfolg bei Ihrem JAVA-Projekt. Wenn Sie nach einem Video-Tutorial suchen, können Sie sich das ansehen Maven Crashkurs.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Zusammenarbeit
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder