Ab und zu stehe ich vor der Versuchung einpaar schöne Bibliotheken in mein Projekt einzubinden.
Den Abhändigkeitsschwanz aufzulösen ist dabei eine richtige Herausforderung. Wenn das ein Maven Projekt wäre - dann hat man es gut. Wenn aber nicht?!
Heute war wieder so ein Versuchung. In einem überschaubaren Projekt wollte ich RESTEasy von JBoss für rest-ws verwenden. Wenn man allerdings über die Liste der mitgeschleppten Bibliotheken stolpert, 66 JARs samt 16MB, dann überlegt man drei mal.
Gut wenn man weißt das für den rest-ws Einsatz lediglich ein Paar von den JARs notwendig sind. Aber, wie kriegt man raus welche von den 66 tatsächlich erforderlich sind. Na gut, etwas Ahnung, dass z.B. JAX-RS das gesuchte Modul ist, müsste man schon haben.
Und die restliche JARs von denen das Modul abhängig ist, kriegt man mit einem kleinen Gradle Script herauskopiert:
und so wird der Script ausgeführt:
gradle -q copyJars
und was haben wir als Ergebnis? Es werden lediglich 13 JARs samt 2MB benötigt.
~
Finito
Den Abhändigkeitsschwanz aufzulösen ist dabei eine richtige Herausforderung. Wenn das ein Maven Projekt wäre - dann hat man es gut. Wenn aber nicht?!
Heute war wieder so ein Versuchung. In einem überschaubaren Projekt wollte ich RESTEasy von JBoss für rest-ws verwenden. Wenn man allerdings über die Liste der mitgeschleppten Bibliotheken stolpert, 66 JARs samt 16MB, dann überlegt man drei mal.
Gut wenn man weißt das für den rest-ws Einsatz lediglich ein Paar von den JARs notwendig sind. Aber, wie kriegt man raus welche von den 66 tatsächlich erforderlich sind. Na gut, etwas Ahnung, dass z.B. JAX-RS das gesuchte Modul ist, müsste man schon haben.
Und die restliche JARs von denen das Modul abhängig ist, kriegt man mit einem kleinen Gradle Script herauskopiert:
und so wird der Script ausgeführt:
gradle -q copyJars
und was haben wir als Ergebnis? Es werden lediglich 13 JARs samt 2MB benötigt.
~
Finito