English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven-Tutorial

Diese Anleitung ist für Anfänger vorbereitet, um ihnen zu helfen, die grundlegenden Funktionen des Maven-Tools zu verstehen. Nach Abschluss dieser Anleitung sollten Sie über ein mittleres Niveau an Fachkenntnissen in Apache Maven verfügen und können dann in höhere Stufen eintauchen.

Maven wird mit "Experte" oder "Kenner" übersetzt und ist ein reines Java-Entwicklungsprojekt unter Apache. Basierend auf dem Konzept des Projektobjektmodells (Abkürzung: POM) kann Maven mit einem zentralen Informationsschnipsel den Aufbau, Berichte und Dokumentation eines Projekts verwalten.

Maven ist ein Projektmanagementtool, das den Aufbau und die Abhängigkeitsverwaltung von Java-Projekten ermöglicht.

Maven kann auch zur Erstellung und Verwaltung verschiedener Projekte verwendet werden, z.B. Projekte, die in C#, Ruby, Scala und anderen Sprachen geschrieben sind. Maven war ein Subprojekt des Jakarta-Projekts und ist jetzt ein unabhängiges Apache-Projekt, das von der Apache Software Foundation geleitet wird.

Vorkenntnisse, die Sie vor dem Lesen dieser Anleitung benötigen

Diese Anleitung richtet sich hauptsächlich an Anfänger und hilft ihnen, die grundlegenden Funktionen des Maven-Tools zu erlernen. Nach Abschluss dieser Anleitung sollten Sie über ein mittleres Niveau an Wissen über Apache Maven verfügen und können dann fortgeschrittene Kenntnisse erlernen.

Um diese Anleitung zu lesen, benötigen Sie die folgenden Grundlagen:Java-Grundlagen.

Maven-Funktionen

Maven kann Entwicklern dabei helfen, die folgenden Aufgaben zu erledigen:

  • Bauen

  • Generierung von Dokumenten

  • Berichte

  • Abhängigkeiten

  • SCMs

  • Veröffentlichung

  • Verteilung

  • E-Mail-Liste

Konventionelle Konfiguration

Maven fördert die Verwendung einer gemeinsamen Standardverzeichnisstruktur. Maven verwendet das Prinzip "Konvention über Konfiguration", und alle sollten so viel wie möglich dieser Verzeichnisstruktur folgen. Wie folgt gezeigt:

VerzeichnisZiel
${basedir}Speicherort für pom.xml und alle Unterordner
${basedir}/src/main/javaJava-Quellcode des Projekts
${basedir}/src/main/resourcesRessourcen des Projekts, z.B. Property-Dateien, springmvc.xml
${basedir}/src/test/javaTestklassen des Projekts, z.B. JUnit-Code
${basedir}/src/test/resourcesRessourcen für Tests
${basedir}/src/main/webapp/WEB-INFVerzeichnis für Web-Anwendungsfdateien, Informationen über Web-Projekte, z.B. Speicherort von web.xml, lokalen Bildern, JSP-Ansichten
${basedir}/targetVerzeichnis für die Verpackungsausgabe
${basedir}/target/classesVerzeichnis für die Kompilierungsausgabe
${basedir}/target/test-classesVerzeichnis für die Test-Kompilierungsausgabe
Test.javaMaven führt nur automatisch Tests aus, die diesem Namensschema entsprechen
~/.m2/repositoryDer Standardpfad des lokalen Maven-Repository-Verzeichnisses

Maven-Funktionen

  • Projektsettings folgen einheitlichen Regeln.

  • Gemeinsam in jedem Projekt verwendet.

  • Abhängigkeitsverwaltung einschließlich automatischer Aktualisierung.

  • Eine umfangreiche und ständig wachsende Bibliothek.

  • Erweiterbar, Plugins in Java oder Skriptsprachen leicht schreiben.

  • Neue Funktionen können mit wenig oder ohne zusätzliche Konfiguration sofort zugänglich gemacht werden.

  • Modellbasierte Bau − Maven kann eine beliebige Anzahl von Projekten in vorgegebene Ausgabetypen wie JAR, WAR oder Distributionen basierend auf Projektmetadaten bauen, ohne in den meisten Fällen Skripte auszuführen.

  • Einheitliche Projektinformationen-Site − Mit den gleichen Metadaten wie im Build-Prozess kann Maven eine Website oder ein PDF generieren, das alle von Ihnen hinzuzufügenden Dokumente enthält und in den Standardbericht über den Entwicklungsstatus des Projekts einfügt.

  • Veröffentlichungsmanagement und Veröffentlichung separater Ausgaben − Maven benötigt keine zusätzliche Konfiguration, um mit Versionskontrollsystemen (wie Subversion oder Git) integriert zu werden und kann auf Basis eines Tags Projekte veröffentlichen. Es kann auch seine Veröffentlichungen an Distributionsorte senden, um sie für andere Projekte verfügbar zu machen. Maven kann separate Ausgaben wie JAR, Archive, die andere Abhängigkeiten und Dokumente enthalten, oder als Quellcode veröffentlichen.

  • Rückwärtskompatibilität − Sie können problemlos von mehreren Modulen der alten Maven-Versionen migrieren 3 d.h.

  • Wenn ein Unteprojekt Abhängigkeiten des Oberprojekts verwendet, sollte das Unteprojekt normalerweise die Abhängigkeiten des Oberprojekts übernehmen, ohne Versionsnummern zu verwenden,

  • Parallelbau − Die Kompilierungsgeschwindigkeit kann allgemein verbessert werden20 - 50 %。

  • Bessere Fehlerberichterstattung − Maven hat die Fehlerberichterstattung verbessert und bietet Ihnen Links zur Maven-Wiki-Seite, auf der Sie die vollständige Fehlerbeschreibung ansehen können.

    Apache Maven ist ein Softwareprojektmanagement- und Verständigungstool. Basierend auf dem Konzept des Projektobjektmodells (POM) kann Maven den Bau, die Berichterstattung und die Dokumentation von Projekten zentral verwalten. Mit Maven können wir jeden auf Java basierenden Projekt bauen und verwalten. Dieses Tutorial wird Ihnen beibringen, wie Sie Maven im täglichen Leben für jede Projektentwicklung in Java verwenden.