Maven-Tutorial

Maven wird [auf Chinesisch] als "Experte" oder "Insider" übersetzt und ist ein Open-Source-Projekt, das unter Apache ausschließlich in Java entwickelt wurde. Basierend auf dem Konzept des Project Object Model (abgekürzt: POM) verwendet Maven eine zentrale Information, um Schritte wie den Build, das Reporting und die Dokumentation eines Projekts zu verwalten.

Maven ist ein Projektmanagement-Tool, das Java-Projekte erstellen und Abhängigkeiten verwalten kann.

Maven kann auch verwendet werden, um verschiedene Projekte zu erstellen und zu verwalten, wie Projekte in C#, Ruby, Scala und anderen Sprachen. Maven war einst ein Unterprojekt des Jakarta-Projekts und ist heute ein unabhängiges Apache-Projekt, das von der Apache Software Foundation gehostet wird.


Voraussetzungen für das Lesen dieses Tutorials

Dieses Tutorial richtet sich hauptsächlich an Anfänger und hilft ihnen, die grundlegenden Funktionen des Maven-Tools kennenzulernen. Nach Abschluss dieses Tutorials wird Ihr Fachwissen über Apache Maven ein mittleres Niveau erreichen, und anschließend können Sie fortgeschrittenere Kenntnisse erlernen.

Um dieses Tutorial zu lesen, benötigen Sie folgende Grundlagen:Java-Grundlagen。


Maven-Funktionen

Maven kann Entwicklern helfen, die folgenden Aufgaben zu erledigen:

  • Build
  • Dokumentationserstellung
  • Reporting
  • Abhängigkeiten
  • SCMs
  • Release
  • Distribution
  • Mailinglisten

Maven-Eigenschaften

  1. Konvention vor Konfiguration: Bietet standardisierte Projektstruktur und Build-Lebenszyklus

  2. Abhängigkeitsverwaltung: Verwaltet Projektabhängigkeiten automatisch

  3. Plugin-System: Umfangreiche Plugins unterstützen verschiedene Build-Aufgaben

  4. Multi-Modul-Unterstützung: Vereinfacht die Verwaltung großer Projekte

  5. Zentrales Repository: Zugriff auf global gemeinsam genutzte Bibliotheksressourcen


Konvention vor Konfiguration

Maven befürwortet die Verwendung einer gemeinsamen Standardverzeichnisstruktur. Maven verwendet das Prinzip der Konvention vor Konfiguration; jeder sollte eine solche Verzeichnisstruktur so weit wie möglich befolgen. Wie unten dargestellt:

Verzeichnis Zweck
${basedir} Speichert pom.xml und alle Unterverzeichnisse
${basedir}/src/main/java Java-Quellcode des Projekts
${basedir}/src/main/resources Projektressourcen, wie z. B. Property-Dateien, springmvc.xml
${basedir}/src/test/java Projekt-Testklassen, wie JUnit-Code
${basedir}/src/test/resources Testressourcen
${basedir}/src/main/webapp/WEB-INF Dateiverzeichnis der Webanwendung, Webprojektinformationen, wie web.xml, lokale Bilder, JSP-Ansichtsseiten
${basedir}/target Ausgabeverzeichnis für die Paketierung
${basedir}/target/classes Kompilierungsausgabeverzeichnis
${basedir}/target/test-classes Ausgabeverzeichnis für die Testkompilierung
Test.java Maven führt nur automatisch Testklassen aus, die dieser Namenskonvention entsprechen
~/.m2/repository Standardspeicherort des lokalen Maven-Repository-Verzeichnisses
Weitere Erweiterungen