LEARNTEK
Was ist Maven?
Maven ist ein Automatisierungs- und Verwaltungstool, das von der Apache Software Foundation entwickelt wurde. Es wurde ursprünglich am 13.Juli 2004 veröffentlicht. In der jiddischen Sprache bedeutet Maven „Akkumulator des Wissens“. Maven ist ein Projektmanagement- und Verständnistool, das Entwicklern ein vollständiges Build-Lebenszyklus-Framework bietet. Das Entwicklungsteam kann die Build-Infrastruktur des Projekts in kürzester Zeit automatisieren, da Maven ein Standardverzeichnis-Layout und einen Standard-Build-Lebenszyklus verwendet. Maven ist ein leistungsfähiges Projektmanagement-Tool, das auf POM (Project Object Model) basiert. Es wird für Projekte Build, Abhängigkeit und Dokumentation verwendet. Es vereinfacht den Build-Prozess wie ANT. Aber es ist zu viel fortgeschritten als ANT. Maven enthält Projektinformationen und Konfigurationsinformationen für Maven wie Konstruktionsverzeichnis, Quellverzeichnis, Abhängigkeit, Testquellverzeichnis, Ziele, Plugins usw.
Was sind die Hauptmerkmale von Maven?
- Einfache Projekteinrichtung, die Best Practices folgt
- Konsistente Nutzung über alle Projekte hinweg
- Einfache Möglichkeit, Projekte zu erstellen, in denen unnötige Details ausgeblendet werden
- Einheitliches Build-System, bei dem eine Standardstrategie befolgt wird
- Abhängigkeitsmanagement einschließlich automatischer Aktualisierung
- Hochwertige Projektinformationen wie Abhängigkeitslisten, Querverweise auf Quellen und Unit-Testberichte
- Abhängigkeitsmanagement einschließlich automatischer Aktualisierung und Abhängigkeitsschließungen
- Die Fähigkeit, mit mehrere Projekte gleichzeitig
- Dynamisch herunterladen der erforderlichen Java-Bibliotheken und Plug-Ins aus Maven-Repositorys
- Modellbasierte Builds – Maven ist in der Lage, eine beliebige Anzahl von Projekten in vordefinierte Ausgabetypen wie JAR, war, Metadaten zu erstellen
- Kohärente Site mit Projektinformationen − Mit denselben Metadaten wie beim Erstellungsprozess kann maven eine Website und ein PDF mit vollständiger Dokumentation generieren
- Abwärtskompatibilität − Sie können die mehreren Module eines Projekts problemlos aus älteren Versionen von Maven in Maven 3 portieren. Es kann auch die älteren Versionen unterstützen
- Parallele Builds − Es analysiert das Projektabhängigkeitsdiagramm und ermöglicht es Ihnen, Zeitplanmodule parallel zu erstellen. Auf diese Weise können Sie die Leistungsverbesserungen von 20-50% erreichen.
Was sind die Kernkonzepte von Maven?
- Build-Plugins: Build-Plugins werden verwendet, um bestimmte Aufgaben auszuführen. Sie können der POM-Datei ein Plugin hinzufügen. Maven hat einige Standard-Plugins, die Sie verwenden können, und Sie können auch Ihre eigenen in Java implementieren.
- Profile erstellen: Build-Profile eine Reihe von Konfigurationswerten, mit denen Sie Ihr Projekt mit verschiedenen Konfigurationen erstellen können. Beispielsweise müssen Sie Ihr Projekt möglicherweise für die Entwicklung und den Test für Ihren lokalen Computer erstellen. Um verschiedene Builds zu aktivieren, können Sie Ihren POM-Dateien mithilfe der Profilelemente verschiedene Build-Profile hinzufügen, die auf verschiedene Arten ausgelöst werden.
- POM-Dateien: POM-Dateien (Project Object Model) sind XML-Dateien, die Informationen zum Projekt und Konfigurationsinformationen wie Abhängigkeiten, Quellverzeichnis, Plugin und Ziele usw. enthalten. wird von Maven zum Erstellen des Projekts verwendet. Wenn Sie einen Maven-Befehl ausführen sollen, geben Sie Maven eine POM-Datei, um die Befehle auszuführen. Maven liest pom.XML-Datei, um seine Konfiguration und Operationen durchzuführen.
- Abhängigkeiten und Repositorys: Abhängigkeiten sind externe Java-Bibliotheken, die für Projekte benötigt werden, und Repositorys sind Verzeichnisse gepackter JAR-Dateien. Das lokale Repository ist nur ein Verzeichnis auf der Festplatte Ihres Computers. Wenn die Abhängigkeiten nicht im lokalen Maven-Repository gefunden werden, lädt Maven sie von einem zentralen Maven-Repository herunter und legt sie in Ihrem lokalen Repository ab.
- Build-Lebenszyklen, -phasen und -ziele: Ein Build-Lebenszyklus besteht aus einer Abfolge von Build-Phasen, und jede Build-Phase besteht aus einer Abfolge von Zielen. Maven-Befehl ist der Name eines Build-Lebenszyklus, einer Phase oder eines Ziels. Wenn ein Lebenszyklus angefordert wird, indem ein Maven-Befehl ausgeführt wird, werden auch alle Build-Phasen in diesem Lebenszyklus ausgeführt. Wenn eine Build-Phase nicht ausgeführt wird, werden auch alle davor liegenden Build-Phasen in der definierten Reihenfolge ausgeführt.
Was macht Maven?
Nachfolgend finden Sie die von Maven ausgeführten Aufgaben:
- Wir können ganz einfach ein Projekt mit Maven erstellen.
- Wir können Jars und andere Abhängigkeiten des Projekts einfach mit Hilfe von Maven hinzufügen.
- Maven stellt Projektinformationen zur Verfügung (Protokolldokument, Abhängigkeitsliste, Unit-Testberichte usw.)
- Maven ist sehr hilfreich für ein Projekt beim Aktualisieren des zentralen Repositorys von JARS und anderen Abhängigkeiten.
- Mit Hilfe von Maven können wir eine beliebige Anzahl von Projekten in Ausgabetypen wie JAR, WAR usw. erstellen, ohne Skripte zu erstellen.
- Mit Maven können wir unser Projekt problemlos in das Quellcodeverwaltungssystem (wie Subversion oder Git) integrieren.
Vorteile der Verwendung von Maven:
- Maven kann alle für das Projekt erforderlichen Abhängigkeiten automatisch hinzufügen, indem es die pom-Datei liest.
- Man kann sein Projekt leicht zu jar, war usw. bauen. gemäß ihren Anforderungen mit Maven.
- Maven macht es einfach, Projekte in verschiedenen Umgebungen zu starten, und man muss nicht mit der Abhängigkeitsinjektion, Builds, Verarbeitung usw. umgehen.
- Das Hinzufügen einer neuen Abhängigkeit ist sehr einfach. Man muss nur den Abhängigkeitscode in eine Pom-Datei schreiben.
Nachteile der Verwendung von Maven:
- Maven benötigt die Maven-Installation im System zum Arbeiten und das Maven-Plugin für die IDE.
- Wenn der Maven-Code für eine vorhandene Abhängigkeit nicht verfügbar ist, kann diese Abhängigkeit nicht mit maven hinzugefügt werden.
Zusammenfassung:
Maven ist ein Automatisierungs- und Verwaltungstool. Maven ist ein beliebtes Open-Source-Build-Tool für Java-Projekte in Unternehmen, das den Build-Prozess erheblich vereinfacht. Maven verwendet einen deklarativen Ansatz, bei dem die Projektstruktur und der Inhalt beschrieben werden, anstatt den aufgabenbasierten Ansatz, der beispielsweise in Ant oder in herkömmlichen Make-Dateien verwendet wird. Dies hilft bei der Durchsetzung unternehmensweiter Entwicklungsstandards und reduziert den Zeitaufwand für das Schreiben und Verwalten von Build-Skripten. Wenn Sie Maven verwenden, beschreiben Sie Ihr Projekt mit einem klar definierten Projektobjektmodell, Maven kann dann eine übergreifende Logik aus einer Reihe freigegebener (oder benutzerdefinierter) Plugins anwenden. Im Falle einer Umgebung mit mehreren Entwicklungsteams kann Maven in sehr kurzer Zeit die Arbeitsweise gemäß den Standards einrichten. Da die meisten Projekteinstellungen einfach und wiederverwendbar sind, erleichtert Maven dem Entwickler das Erstellen von Berichten, Überprüfungen, Build- und Testautomatisierungseinstellungen.