Einführung in Maven - Ein einfaches Projektmanagement-Tool

Erfahren Sie mehr über Apache Maven - Ein Build Automation Tool
Was geht Leute! Heute werden wir über Maven sprechen.
We will start with the quick intro and then list down the advantages of using it. After all this, we will see its installation process and then a few technical terms which are essential for a beginner. So, let’s get started!
Was ist Maven?
Apache Maven is a project management software, and we can say it is a comprehension tool. It is based on the concept of the project object model (POM) [will be discussed later in the articles], Maven can manage a project’s build, reporting, and documentation from a central piece of information.

Apache Maven is a build tool, and it does the task just like Ant, which is again an extraordinary build Tool. This is a software project management tool that gives a new concept of the project object model (POM). Maven allows the developer to automate the handling of the creation of the original folder format, performing the assortment and testing and the packaging and deployment of the final output. It cuts down the considerable number of steps in the base process, and it makes it jus one-step process to do a build.
Warum wird Maven verwendet?
To sum up, Maven simplifies and standardizes the project build process. It handles team collaboration, compilation, distribution, documentation, and separate tasks seamlessly. Maven increases reusability, and it also takes care of most of the build-related tasks. It works in helps many steps such as adding jars to the project library, building reports, and executing Junits test cases, creating Jar, War, Ear files for the project, and even many more things.
Ein äußerst wichtiger Aspekt von Maven ist der Zweck der Verwaltung von Repositorys 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.
Multiple/Repeated builds can be achieved
- Automatisierung macht es einfach.
Verwaltung, Test und Entwicklung von Plugins
- Es kann JUnit und andere Integrationstests ausführen.
- It makes the development process löschen.
Bestimmungen zum Überprüfen des Status jedes Builds
- Es vermeidet inkonsistente Setups.
- Standard- und uniformierte Infrastruktur unter den Projekten.

Architektur von 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:

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.
- Third 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:

Einige der wichtigen Phasen sind wie folgt:
- Gültigate: 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: The project is properly cleaned up, and any files created by the previous build are deleted. In this, there are three phases.
- Site: The project’s website documentation is created at this step and has four phases to it.
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 downloads dependencies located on a web server.
Vorteile von 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:
- Administer all project management processes, including building, documenting, releasing, and distribution.
- Reduziert die Komplexität der Projektentwicklung durch eine standardisierte Projektstruktur.
- Enhances the projects and the development process Leistung.
- Seine verschiedenen Plugin-Integrationen helfen, die Qualität des Codes, die Automatisierung von Aufgaben, die Produktivitätssteigerung usw. zu optimieren.
- Jar files and other dependencies’ downloading is carried out automatically.
- Einrichtungates the developer’s ability to build a project in many contexts without worrying about dependencies, workflows, usw.
- Das Abhängigkeitsverwaltungssystem rationalisiert die Einbindung externer Bibliotheken, reduziert die Wahrscheinlichkeit von Versionskonflikten und gewährleistet konsistente und zuverlässige Builds.
- It streamlines the deployment process that reduces human errors resulting in improved efficiency.
By leveraging the benefits of Maven, development teams can improve the productivity and quality of the code and deliver high-quality software while reducing the overall development community.
Einrichten der Maven-Umgebung
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.
- Now, add the bin directory of the created directory apache-maven-3.6.2 to the PATH environment variable and system variable.
- Ö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.
As this is a beginner guide so it must include technical terms related to MAVEN. So here are few, which are very important:
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 is a Project Object Model XML file that has information about the project and configuration details needed by Maven to develop the project. It contains default values for most projects. Some of the structures that can be defined in the POM are the project dependencies, plugins that can be executed, and of course, the build profiLektion.
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- It implies the id for the project group. It is unique, and Most often, you will apply a group ID that is related to the root Java package name.
- 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.
Praktische Anwendung von Maven
When working on a specific java project, and that project has a lot of dependencies, builds, requirement, then working with all those things manually is hugely complex and laborious. Thus using some tools that can work out these works is truly helpful.
And Maven is such a build management tool which can perform all the things like adding dependencies, using the classpath to project, making war and jar file automatically and many new things.
Fazit
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.