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
Konvention vor Konfiguration: Bietet standardisierte Projektstruktur und Build-Lebenszyklus
Abhängigkeitsverwaltung: Verwaltet Projektabhängigkeiten automatisch
Plugin-System: Umfangreiche Plugins unterstützen verschiedene Build-Aufgaben
Multi-Modul-Unterstützung: Vereinfacht die Verwaltung großer Projekte
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 |