Unbeschwertes Dependency-Management für Java-Projekte
Abstract
Thu 12:15 - 13:00 Uhr | 2025
Wir alle verwenden Open-Source-Bibliotheken in unseren Java-Anwendungen. Solche Abhängigkeiten sind schnell hinzugefügt, da keine direkten Kosten entstehen. Die Produktivität steigt kurzfristig, da fertige Funktionalität sofort genutzt werden kann. Doch auf lange Sicht ist dies keineswegs „kostenlos“. Mit der Weiterentwicklung einer Bibliothek entstehen Folgekosten.
In langlebigen Projekten gibt es oft Abhängigkeiten, bei denen niemand mehr weiß, warum sie existieren. Das „Warum“ ist nicht dokumentiert, und die Entwickler, die sie eingeführt haben, sind längst nicht mehr im Team. Die Verwaltung der Abhängigkeiten ist kostspieliger und mühevoller als sie sein sollte.
Ich habe mit mehreren Java-Projekten in diesem Zustand gearbeitet und mir Strategien zur Verbesserung der Situation angeeignet, die ich in diesem Vortrag vorstelle:
(1) Ein Projekt-Setup, in dem Abhängigkeiten konsistent definiert sowie toolgestützt gepflegt und aktualisiert werden.
(2) Eine Vorgehensweise, um dieses Setup in existierenden Projekte einzuführen.
(3) Eine Übersicht über die Stärken und Unterschiede der meistgenutzten Dependency-Management-Technologien im Java-Ökosystem: Gradle, Maven, JPMS, Dependabot, Renovate.
Jendrik macht seit 20 Jahren Dinge mit Software. Besonderes Interesse hat er an Technologien die effizientere Softwareentwicklung fördern. Er war mehrere Jahre Teil des Kern-Entwicklerteams von Gradle. Mittlerweile unterstützt er als selbständiger Trainer und Berater Teams dabei, ihre Produktivität durch Automatisierung zu erhöhen.