Konfigurationsmanagement liesst sich langweilig, ist es aber nicht. Wer die unterschiedlichsten Apache Commons Bibliotheken in seinen Projekten einsetzt wird mir nicht wiedersprechen. In unserem Produkt bei semgine verwenden wir weit über 100 Fremdbibliotheken für unsere über 100 eigenen Bibliotheksartefakte. Deren Abhängigkeiten werden in Java Projekten über Maven 1 und Maven 2 POMs verwaltet. Die Fremdbibliotheken sind alle auf unterschiedlichen Versionsständen, kreuz und quer referenziert. Ein chaotische Gemengelage unterschiedlichster Versionen der selben Bibliothek in einem Projekt entsteht.
In den letzten beiden Tagen habe ich für unser Web-Projekt die MyFaces Bibliothek auf den neuesten Stand gebracht. Ebenfalls wurde die neueste Version von Commons Configuration in unser Firmenrepositorie aufgenommen. Alleine für lesen und bewerten der Releasenotes und auflösen der Abhängigkeiten habe ich 12 Stunden benötigt. Nach bestem Wissen müsste jetzt alles passen. Trotzdem bleibt ein unschönes Gefühl zurück, wenn man die definierten Abhängigkeiten der Entwickler einer Fremdbibliothek umdefinieren. Das ist einer der Gründe, warum ich bei der Aufnahme von immer mehr unbedingt benötigter Bibliotheken sehr konservativ bin. Ein Wechsel auf höhere Versionen muss zwingend notwendig sein.
Ich bin gespannt, ob JSR 277 in Java 7 (Dolphin) hilft die JAR-Hölle etwas zu entspannen.
Frank hat vor ein paar Wochen aus dem Nähkästchen geplaudert. Über meine Probleme kann da sicherlich nur gelächelt werden.
