13 Archetypen

Um ein neues Maven-Projekt anzulegen, gibt es verschiedene Methoden, wobei Maven Archetypes die gängigste und flexibelste Möglichkeit sind.

13.1 1. Anlegen mit mvn archetype:generate

Maven bietet sogenannte Archetypes, also Vorlagen für Projekte. Um ein Grundgerüst zu erstellen, nutzt man:

mvn archetype:generate

Dieser Befehl startet eine interaktive Eingabe, in der man den Archetype auswählen kann. Eine häufig genutzte Variante ist:

mvn archetype:generate \
    -DgroupId=com.example \
    -DartifactId=my-app \
    -DarchetypeArtifactId=maven-archetype-quickstart \
    -DinteractiveMode=false

Erklärung der Parameter: - -DgroupId=com.example → Eindeutige Kennung für das Projekt (oft umgekehrte Domain). - -DartifactId=my-app → Name des generierten JARs (gleichzeitig Ordnername). - -DarchetypeArtifactId=maven-archetype-quickstart → Vorlage für ein Standard-Java-Projekt. - -DinteractiveMode=false → Deaktiviert die interaktive Abfrage.

Nach dem Ausführen liegt das generierte Projekt unter my-app/ mit folgender Struktur:

my-app/
│── src/
│   ├── main/java/com/example/App.java  # Beispielklasse
│   ├── test/java/com/example/AppTest.java # Beispiel-Test
│── pom.xml

13.2 2. Wichtige Maven-Archetypes

Maven bietet verschiedene Archetypes für unterschiedliche Projektarten:

Archetype Beschreibung
maven-archetype-quickstart Standard-Java-Projekt mit JUnit-Test
maven-archetype-webapp Web-Anwendung mit web.xml (für Servlet-Projekte)
maven-archetype-j2ee-simple J2EE-Projekt (z. B. für Enterprise-Anwendungen)
maven-archetype-mojo Erstellung eines eigenen Maven-Plugins
maven-archetype-site Projekt für Maven Site-Dokumentation

Alle verfügbaren Archetypes können mit folgendem Befehl aufgelistet werden:

mvn archetype:generate -DinteractiveMode=true

Das öffnet eine Liste aller Archetypes, die dann über eine Nummer ausgewählt werden können.

13.3 3. Manuelles Anlegen eines Maven-Projekts

Alternativ kann ein Maven-Projekt auch manuell erstellt werden: 1. Projektverzeichnis anlegen: sh mkdir my-app && cd my-app 2. pom.xml erstellen: ```xml 4.0.0

   <groupId>com.example</groupId>
   <artifactId>my-app</artifactId>
   <version>1.0.0</version>
   <packaging>jar</packaging>

   <dependencies>
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.13.2</version>
           <scope>test</scope>
       </dependency>
   </dependencies>

3. Verzeichnisstruktur erstellen:sh mkdir -p src/main/java/com/example mkdir -p src/test/java/com/example 4. Beispielklasse anlegen (`src/main/java/com/example/App.java`):java package com.example;

public class App { public static void main(String[] args) { System.out.println(“Hello, Maven!”); } } 5. Build und Ausführung:sh mvn clean package java -cp target/my-app-1.0.0.jar com.example.App ```

13.4 4. Maven-Projekt mit IDE erstellen

Moderne IDEs wie IntelliJ IDEA, Eclipse oder VS Code bieten Assistenten zum Erstellen eines Maven-Projekts: - IntelliJ IDEA: - FileNew ProjectMaven auswählen - groupId, artifactId, version definieren - POM wird automatisch generiert - Eclipse: - FileNewMaven Project - Archetype auswählen - Verzeichnisstruktur wird automatisch angelegt


Für schnelle Projekte ist mvn archetype:generate ideal.
Manuelle Einrichtung gibt maximale Kontrolle.
IDEs machen es bequemer, aber die zugrunde liegenden Konzepte sind die gleichen.