# eine Abhängigkeit für viele jars



## dermoritz (8. Jun 2011)

Ich baue gerade an einem Projekt, welches Abhängigkeiten zu ca 10 jar-Dateien eines Drittanbieters hat. Nun würde ich die jar-dateien - wie üblich - in das 3rd Party repository von Nexus packen, ABER als EIN "Paket". So dass man im Projekt nur eine Abhängigkeit angeben muss. Die einzelnen jar-Dateien sollten aber einzeln bleiben.

Nun Frage ich mich wie ich das ganze mit Maven am besten umsetze. Reicht es z.B. ein "Hüllenprojet" (packaging pom?) zu bauen welches diese 10 Abhängikeiten besitzt?


Danke im Voraus


----------



## Wildcard (8. Jun 2011)

Abhängigkeiten im Compile Scope sind bei Maven immer transitiv. Du kannst also ein Maven Projekt anlegen das eine Abhängigkeit auf alle 10 Artifakte definiert. 
Bindet man dieses Artifakt nun als Abhängigkeit ein, kommen alle 10 transitiv mit dazu (for better or for worse)


----------



## dermoritz (9. Jun 2011)

Ok, danke - das packaging dieses Projekts kann "pom" sein oder? um einzelnes uploaden aller 10 jars komme ich nicht herum? Oder gibt es vielleicht eine Möglichkeit alle jars als ein "Artefakt" nach - Nexus zu laden, so dass die "Zusammenfassung" direkt erfolgt und nicht über ein extra Projekt? (diese 10 jars werde ich niemals einzeln benötigen)


----------



## bygones (9. Jun 2011)

ich würde nicht anfangen die 10 jars irgendwie zu einem Jar artifakte zusammenzupacken, das verschleiert die Abhängigkeiten. Wenn du von sovielen abhängig bist, steh dazu und geb sie so weiter ;-)

Was du machen kannst ist, die jars in ein Pom Projekt, zu packen, d.h. das Packaging ist pom und dessen Abhängigkeiten sind die jars. Andere Projekte machen sich dann von dem Pom Projekt abhängig und somit von den jars die dieses definiert.

Wir machen das für unsere Testumgebung, so dass v.a Projekte nicht alle testjars einzeln aufführen müssen etc.


----------



## dermoritz (9. Jun 2011)

danke - das entspricht ja genau Wildcards Vorschlag. Es scheint also eine gängige Methode zu sein - da werde ich wohl in den sauren Apfel beißen müssen und alle jars zunächst nach nexus laden.


----------

