Mittwoch, 21. November 2012

JAR Dependencies auflösen

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 

Keine Kommentare: