22 Maven

22.1 Einführung

Maven ist ein Build-Management-Tool, das auf dem POM-Prinzip (Project Object Model) basiert. Es wird für Projektmanagement und -automatisierung verwendet.

22.2 POM-Datei

Die pom.xml Datei ist das Herzstück eines Maven-Projekts. Sie enthält alle Konfigurationen und Abhängigkeiten.

<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>my-project</artifactId>
    <version>1.0</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>

22.3 Lebenszyklusphasen

Maven hat einen vordefinierten Lebenszyklus für den Build-Prozess, der aus mehreren Phasen besteht, wie z.B. validate, compile, test, package, install und deploy.

22.3.1 Beispiel für die Compilierung und das Testen eines Projekts

mvn clean compile test

22.4 Repositories

Maven verwaltet Abhängigkeiten durch den Zugriff auf Remote- oder lokale Repositories.

22.4.1 Hinzufügen eines Remote-Repositories

<repositories>
    <repository>
        <id>example-repo</id>
        <url>http://example.com/repo</url>
    </repository>
</repositories>

22.5 Plugins

Maven bietet eine breite Palette von Plugins für verschiedene Aufgaben wie Kompilierung, Testen und Paketierung.

22.5.1 Hinzufügen eines Plugins

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
        </plugin>
    </plugins>
</build>

Maven ist ein leistungsfähiges Werkzeug für die Automatisierung und das Management von Java-Projekten. Durch die Verwendung der pom.xml Datei für die Projektbeschreibung und Konfiguration ermöglicht Maven eine einfache Handhabung von Abhängigkeiten, Build-Prozessen und anderen Aspekten des Softwareentwicklungszyklus.