Apache Maven Schulung
Table of Contents
Sie haben Bedarf an einer Apache Maven Schulung? Hier finden Sie eine Übersicht bzgl. der Inhalte und Anforderungen. Sie können uns kontaktieren und wir beraten Sie gerne. Bei Bedarf machen wir Ihnen ein individuelles Angebot.
Wir führen Schulungen aktuell ausschließlich remote durch.
Übersicht
Apache Maven ist ein Build-Management-Tool, dass den automatischen Bau von Java-Software, das Testen, Verteilen sowie die Erzeugung der Dokumentation und die Ausgabe von Reports ermöglicht. Das praxisnahe Seminar zeigt, wie Maven auf der Basis des Project Object Model (POM) das Projektmanagement automatisiert und die Qualitätssicherung von Software-Projekten unterstützt.
Die Teilnehmer lernen die Anwendung und Nutzung kennen und können mit Maven die kontinuierliche Integration automatisieren.
Apache Maven Schulung
- Die hier gemachten Angaben gehen von einer empfohlenen Schulungsdauer von mind. 3 Tagen aus.
- Das entspricht 24 Unterrichtseinheiten á 45 Minuten.
Vorkenntnisse
- Es sind mindestens fortgeschrittene Java-Kenntnisse notwendig.
- Kenntnisse in XML sollten vorhanden sein.
- Kenntnisse des Versionskontrollsystems Git sollten vorhanden sein.
Zielgruppe
- Entwickler/innen
Software
- Als Laufzeitumgebung wird standardmäßig ein JDK17+ zusammen mit einer IDE eingesetzt.
- Der Kurs basiert auf der Maven Version 3.9.4 (ältere Maven Versionen auf Anfrage).
Inhalte des Seminars
Einführung in Maven
- Was ist Maven und vor allem was ist Maven nicht?
- Installation und Konfiguration
- Maven auf der Kommandozeile
Build-Management mit Maven
- Project Object Model (POM)
- Lebenszyklus eines Projekts
- Projektinitialisierung
- Projektbeschreibung
- Verzeichnisstruktur erzeugen
- Repository Checkout
- Releases
- Repositories
- Lokaler Cache (aka lokales Repository)
- Remote Repositories
- https://central.maven.org/maven2/ (aka Maven Central)
- https://central.sonatype.org/
- Abhängigkeiten
dependencyManagement
versusdependencies
- Konflikte bei den Abhängigkeiten auflösen (Dependency Conflicts)
- Prinzipien: Convention Over Configuration, Verzeichnisaufbau
- Versionsnummerierungen (Release- und SNAPSHOT Versionen).
- Semantic Versioning
Maven Plugins
- Zweck und Kategorien
- Core z.B. maven-compiler-plugin, maven-resources-plugin etc.
- Packaging
- Reporting maven-site-plugin
- Tools
- Code Generierungen (z.B. Antlr, WSDL/XSD, OpenAPI)
- Konfiguration von Plugins
- Generelle Konfigurationsmöglichkeiten, Vererbung von Konfigurationen, Kommandozeile usw.
- Die wichtigsten Maven-Plugins
- Core Plugins:
- Paketierung-Plugins:
- Berichte, Statistiken, Webseiten erzeugen
- Qualitätssicherung:
- Maven Assembly Plugin
- versions-maven-plugin, buildnumber-maven-plugin
Konfiguration
- Verwendung der Kommandozeile (
.mvn/maven.config
u..mvn/jvm.config
) - Die
settings.xml
Datei- Server / Passwörter
- Verschlüsselung von Zugangsdaten
Multi Modul Projekte
- Idee von Multi Modul Projekten
- Versionierung von Multi Modul Projekten
- Build Reihenfolge beeinflussen
- Typische Multi Modul Strukturen
- BOM (Bill of Materials)
- Parent POMs
- Projektvererbung
Java 9+
- Verwendung von Java Modulen in einem Maven Build
Maven in der Praxis
- Profile (Project, User, Global)
- Wann ist die Nutzung eines Profils sinnvoll und wann nicht?
- Unit- und Integrationstests
- Ausführungsreihenfolge
- Konfiguration
- Erstellung Code Coverage
- Wie erstellt man eine Release mit Maven?
- Refactoring von Abhängigkeiten
- IDE Integration
- Build beschleunigen (Parallelisierung des Builds)
- Was sind sog. Consumer POMs?
Eigenes Remote Repository aufbauen
- Ist der Einsatz eines Repository Managers notwendig?
- Aufgaben eines Repository Managers
- Vor- und Nachteile eines Repository Managers
Versionskontrollsystem
- Anwendung im Zusammenhang mit Maven
- Git
- SVN (Nur noch auf explizite Anfrage)
- Release Erstellung und notwendige Konfiguration in Maven.
Migration von Tool X nach Maven
- Welche Punkte sind zu beachten?
Maven 4
- Darstellung der Unterschiede zu Maven 3
- Unterschiede in der Praxis (Vorgehen Multi Module Builds).
- Änderungen in der POM
Jenkins
- Konfiguration von Jenkins im Zusammenhang mit Maven
- Config File Provider Plugin in Jenkins
- Continuous Integration mit Maven: Jenkins
Sollten Sie an weiteren Themen interessiert sein, wenden Sie sich gerne an uns.