In gewachsenen Java-Projekten entstehen Versionskonflikte häufig durch transitive Bibliotheken, unterschiedliche Plattformvorgaben und unzureichend kontrollierte Build-Plugins. Das Seminar vermittelt eine systematische Vorgehensweise, um den tatsächlich verwendeten Klassenpfad nachzuvollziehen und Änderungen an Abhängigkeiten beherrschbar zu machen. Maven und Gradle werden jeweils praktisch behandelt; Unterschiede der Auflösung werden anhand vergleichbarer Projekte sichtbar.
Ein Schwerpunkt liegt auf zentraler Versionssteuerung über Maven-BOMs, dependencyManagement, Gradle-Plattformen und Versionskataloge. Dabei wird zwischen einem Versionskatalog und einer verbindlichen Versionsfestlegung unterschieden. Für Gradle werden Locking und Verifikation eingerichtet. In Maven werden konkrete Versionen, Enforcer-Regeln und kontrollierte Repositories eingesetzt. Build-Werkzeuge, Plugins und Toolchains werden ausdrücklich einbezogen, damit eine stabilisierte Bibliotheksliste nicht durch andere unkontrollierte Eingaben unterlaufen wird.
Inhaltsverzeichnis
- Maven-Abhängigkeiten analysieren
- Maven zentral steuern
- Gradle-Abhängigkeiten beherrschen
- Private Pakete und Build-Umgebung
- Aktualisierung und Fehleranalyse
Lernziele
- Versionsentscheidungen in Maven und Gradle erklären und transitive Konflikte gezielt auflösen.
- Gemeinsame Bibliotheksstände über mehrere Module konsistent verwalten.
- Gradle-Locking und Integritätsprüfung sowie passende Maven-Kontrollen konfigurieren.
- Abhängigkeitsänderungen mit Tests, Paketquellenkontrollen und nachvollziehbaren CI-Nachweisen absichern.
Zielgruppe
Java-Entwickler, Build Engineers, Softwarearchitekten und DevOps-Verantwortliche
Voraussetzungen
Praktische Java- und Git-Kenntnisse; erste Erfahrung mit Maven oder Gradle; sicherer Umgang mit einer Kommandozeile
1. Maven-Abhängigkeiten analysieren
- POM, effektive Konfiguration, Scopes und transitive Beziehungen untersuchen; dependency:tree und dependency:analyze zielgerichtet einsetzen.
- Nearest-Definition-Prinzip, dependencyManagement, optionale Abhängigkeiten und Exclusions anhand kontrollierter Konflikte nachvollziehen.
2. Maven zentral steuern
- Parent-POM, importierte BOM und explizite Abhängigkeiten unterscheiden; Mehrmodulprojekte und Enforcer-Regeln aufbauen.
- Plugin-Versionen, Wrapper, Toolchains und Repositories festlegen; SNAPSHOTs und dynamische Versionsbereiche für Veröffentlichungen bewerten.
3. Gradle-Abhängigkeiten beherrschen
- Konfigurationen, Varianten, Constraints, Plattformen und Versionskataloge verwenden; Abhängigkeitsauswahl mit dependencyInsight erklären.
- Lockfiles erzeugen und bewusst aktualisieren; Dependency Verification mit geprüften Prüfsummen beziehungsweise Signaturen einführen.
4. Private Pakete und Build-Umgebung
- Interne Repositories und Zugangsdaten anbinden; zulässige Paketquellen und Cache-Verhalten festlegen.
- Entwicklerarbeitsplatz und CI-Runner auf abgestimmte Toolchains bringen; reproduzierbare Auflösung und bitidentische Builds getrennt bewerten.
5. Aktualisierung und Fehleranalyse
- Kompatibilitätsänderungen erkennen, Tests auswählen und veraltete transitive Bibliotheken über den verursachenden Einbindungsweg bearbeiten.
- Ein Update über Review, Pipeline und Freigabe führen; einen fehlerhaften Stand auf einen geprüften Ausgangspunkt zurücknehmen.
Praxisübungen
- Die Abhängigkeitsbäume zweier Mehrmodulprojekte erfassen und die Ursache eines widersprüchlichen Bibliotheksstands lokalisieren.
- Im Maven-Projekt eine gemeinsame Versionsvorgabe und eine passende Enforcer-Prüfung ergänzen.
- Im Gradle-Projekt eine Plattform oder einen Versionskatalog einbinden und die tatsächliche Auflösung prüfen.
- Gradle-Locking und geprüfte Verifikationsmetadaten aktivieren; eine unerwartete Änderung als Fehlerfall auswerten.
- Ein Update auf einem Arbeitszweig durchführen, Tests ausführen und den freigegebenen Paketstand dokumentieren.
Technische Voraussetzungen
Vorbereitete Java-Toolchain, Maven- und Gradle-Wrapper, IDE oder Editor, zwei Übungsprojekte, Test-Repository und CI-Runner. Die Übungen verwenden abgestimmte stabile Werkzeugstände.
Fachliche Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
|---|---|
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Java-Entwickler, Build Engineers, Softwarearchitekten und DevOps-Verantwortliche |
| Voraussetzungen: | Praktische Java- und Git-Kenntnisse; erste Erfahrung mit Maven oder Gradle; sicherer Umgang mit einer Kommandozeile |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
