Apache Maven Masterclass (Online) - Sandra Parsick, Gerd Aschemann - Deutsch
Baue stabile, nachvollziehbare und wartbare Buildprozesse mit Maven
Ein durchdachter Buildprozess funktioniert reibungslos auf der Kommandozeile, in der IDE und in der CI-Automatisierung. Er ist verständlich, nachvollziehbar, erweiterbar, reproduzierbar, zuverlässig und wartbar – und genau das lernst du in diesem Training mit Apache Maven umzusetzen.
Vertiefe dein Verständnis für die zentralen Konzepte und ihre Umsetzung. Praxisnahe Übungen helfen dir, das Gelernte direkt in deinem Arbeitsalltag anzuwenden und deine Buildprozesse langfristig zu verbessern.
Agenda
- Was unterscheidet Maven von Ant und Gradle?
- Was solltest du mit Maven eher nicht tun (und welche Alternativen gibt es)?
- Developer Experience bei der Nutzung von Maven
- Installation (zentral vs. Projektspezifisch aka. Maven-Wrapper)
- Ausführung
- Integration mit IDE am Beispiel IntelliJ IDEA
- Wie funktioniert Maven unter der Haube?
- Begriffsklärung: Plugin, Extension, Dependency, POM, Lifecycle
- Erste Konzepte: Build Lifecycle (default)
- Einfache Projektorganisation
- Convention over Configuration
- Source-Code-Organisation
- Deine minimale POM
- Packaging - Lifecycle Mapping
- Prinzip der Super-POM (Convention)
- Wenn die Convention nicht exakt passt, dann diese präzisieren (Properties)
- Warum solltest du dich (erstmal) nicht über die Convention hinwegsetzen?
- Dependency Management
- GAV - Koordinaten im Zusammenspiel mit einem Maven Repository
- Maven Central
- Wie kannst du deine Dependencies finden (Websuche und ‚mcs‘)
- Scopes
- transitive Abhängigkeit
- Wie baut Maven den Classpath anhand der Dependencies auf?
- Welche Auswirkungen hat es auf den Classloader?
- Verwaltung von Dependencies (Dependency Management, BOM, Troubleshooting im Abhängigkeitsdschungel)
- Maven-Plugins
- Konzept Deep Dive
- Interaktion mit Lifecycle
- Default Plugins aus dem Lifecycle und dem Packaging
- Plugins vs Plugin Management
- Typische Use Cases und dazu passende Plugins (Übersicht)
- Plugins für Test und Qualitätssicherung des Projekts
- Direkte Codeanalyse (PMD, spotbug)
- Codestyle
- Fachliche Testausführung und Integrationstests inkl. -Abdeckung (JaCoCo)
- Das Build-Setup qualitätssichern
- Fehlersuche im Buildprozess
- Komplexere Projektstrukturen
- Multi-Module Projekte
- Build: Parent POM vs Reactor POM
- Wie können gemeinsame Dependencies verwaltet werden?
- Dependencies: Parent POM und Dependency Management
- Dependency Management als Bill Of Materials (BOM)
- Erstellung einer eigenen BOM (mehrere Szenarien)
- Eigene Artefakte bauen und konsumieren (Snapshot vs Release)
- Verwaltung und Veröffentlichung von Build-Artefakten im Firmenumfeld
- Release Prozess
- Maven Profile
- Eigenes Snapshot Repository
- Mirroring von Maven Central und anderen globalen Repositories
- Security Aspekte von Externen Maven Artefakten
Deine Trainer:innen
Sandra Parsick
Java Enterprise, Cloud Technologien, Maven
- Apache Maven Masterclass
Sandra Parsick ist Java Champion und freiberufliche Softwareentwicklerin mit Spezialisierung auf Java Enterprise und Cloud-Technologien. Seit mehreren Jahren beschäftigt sie sich mit agiler Softwareentwicklung, wobei ihre Schwerpunkte auf Software Craftsmanship, Open Source und Automatisierung liegen. Insbesondere ist sie Committerin für Apache Maven und aktives Mitglied verschiedener Programmkomitees und Community-Gruppen.
Gerd Aschemann
DevOps, Site Reliability, Development Experience, Maven
- Apache Maven Masterclass
Gerd Aschemann begleitet seine Kunden auf ihrem Weg zu Continuous Everything. Er ist freiberuflicher Berater mit mehr als 30 Jahren Erfahrung in den Bereichen Softwarearchitektur, Entwicklung und Betrieb oder Kombinationen dieser drei Säulen, insbesondere DevOps, Site Reliability und Development Experience.