Maven Transitive Abhänigkeiten unterbinden

B

bygones

Gast
Hi,

gibt es einen globalen schalter der transitive Abhängigkeiten unterbindet ?

Bsp. wir haben hamcrest-all.1.2.jar als Abhängigkeit.
Nun kommt mockito-1.8.4.jar dazu, welches eine Abhängigkeit zu hamcrest-core.1.1.jar definiert.

Dies wollen wir aber nicht, da wir schon hamcrest-all.1.2.jar haben....

ich weiss, dass man per exluce im pom manuell es ausschliessen kann. Es wäre aber für uns schöner, wenn man generell transitive Auflösung unterbinden könnte - geht das ?
 
M

maki

Gast
Kenne keine Möglichkeit das transitive Dependency Management komplett auszuschalten, wäre auch nicht im Sinne von Maven2 imho.
An dieser Stelle sei nochmal auf die Wichtigkeit des <DependencyManagement> Elements hingewiesen, ohne wird das nciht schön ;)
 
B

bygones

Gast
danke fuer den hinweis.. Wenn ich es richtig verstanden habe, so kann man dann in der oberpom (also die fuer die Firma gelten soll, nicht die superpom) dies so einstellen. Da es sich bei uns ueber eine ueberschaubare anzahl von 3rd libraries handelt kann dies dort generell erfolgen und der entwickler selbst muss sich darum nicht kümmern.
 
M

maki

Gast
Naja, das DependencyManagement ersetzt nicht die excludes, ist aber trotzdem 'ne gute Sache wenn nicht jeder Entwickler sich für sein Modul eine eigene Versionen heranzieht, und eine Umstellung der Version geht auhc relativ Schmerzfrei.

In der Company Pom würde ich das wohl nicht machen, in der Parent Pom des Projektes sollte es imho besser aufgehoben sein, wenn das Projekt aber gar kein Modul hat sondern nur eine einzige Pom, bringt auch das DepdencyManagment wenig.

Das <PluginManagement> Element sollte man auch nutzen, sonst kann es sein dass plötzlich bei der nächsten Maven Version der Build nicht mehr geht.
 
B

bygones

Gast
wollen es nun doch anders loesen.

es gibt ein Projekt, welches in der pom die abhängigkeiten zu den nötigen Testlibs definiert.

Projekte die nun Tests haben definieren eine Abhängigkeit zum pom jenes Projektes.

So wurds jedenfalls in den best practices vom maven sonatype handbuch beschrieben (bzw irgendwo da drin :D )
 

Neue Themen


Oben