Apache Maven Schulung
Inhaltsverzeichnis
Sie haben bedarf an einer Apache Maven Schulung? Hier finden Sie eine Übersicht bzgl. der Inhalte und Anforderungen. Sie können uns gerne 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, das 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 3 Tagen aus.
- Das entspricht 24 Unterrichtseinheiten á 45 Minuten.
Vorkenntnisse
- Es sind mindestens fortgeschrittene Java Kenntnisse notwendig.
- Kenntnisse in XML sollten vorhanden sein.
- Kenntnisse eines Versionskontrollsystems (z.B. Git o.ä.) sollten vorhanden sein.
Zielgruppe
- Entwickler/innen
Schulungsunterlagen
- Eigene Unterlagen, Referenzdokumentation in PDF Form.
Auf Wunsch wird auch ein Zertifikat ausgestellt.
Software
- Als Laufzeitumgebung wird standardmäßig ein JDK11 zusammen mit Idea IntelliJ eingesetzt.
- Auf Wunsch kann auch mit anderen Entwicklungsumgebungen (IDEA oder Eclipse) und JDK 8, 11 oder JDK 17 gearbeitet werden.
- Der Kurs basiert auf der aktuellsten Maven Version (aktuell 3.8.4).
Inhalte des Seminars
Einführung in Maven
- Was ist Maven und vor allem was Maven nicht ist?
- 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ängikgeiten
dependencyManagement
versusdependencies
- Konflikte bei den Abhängigkeiten auflösen (Dependency Conflicts)
- Prinzipien: Convention Over Configuration, Verzeichnisaufbau
- Versionsnummerierungen (Release- und SNAPSHOT Versionen).
Maven Plugins
- Zweck und Kategorien
- Core z.B. maven-compiler-plugin, maven-resources-plugin etc.
- Packaging
- Reporting maven-site-plugin
- Tools
- Konfiguration von Plugins
- Die wichtigsten Maven-Plugins
- Core Plugins:
- clean, compiler, install, deploy, resources, surefire, failsafe
- Paketierungs Plugins:
- Berichte, Statistiken, Webseiten erzeugen
- Qualitätssicherung:
- PMD, Checkstyle, SpotBugs, JaCoCo, JDepend, Sonar
- Maven Assembly Plugin
- appassembler-maven-plugin,
versions-maven-plugin, buildnumber-maven-plugin
- Core Plugins:
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 Integrationstesting
- Ausführungsreihenfolge
- Konfiguration
- 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
- Release Erstellung und notwendige Konfiguration in Maven.
Migration von Tool X nach Maven
- Welche Punkte sind zu beachten?
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.