Maven Abhängigkeit zu Pom vs direkten Abhängigkeiten

B

bygones

Gast
Hallo,

ich habe ein Maven projekt, das ein paar jars (Testbibliotheken) als Abhängigkeiten definiert, ansonsten keine src hat. Als Packaging habe ich POM angegeben, alle jars haben den scope compile

[c]Projekt-A: hamcrest-all-1.2.jar, mockito-1.8.4.jar, junit-4.7.jar[/c]

Projekte die nun ebenso diese libs brauchen sollen nun nicht direkt auf alle Testlibs eine Abhängigkeit definieren, sondern eben auf das pom von Projekt-A mit scope test.

In Eclipse wird damit auch erfolgreich compiliert, jedoch beim Testausführen gibt es immense probleme (zb das Missachten Junit 4 Annotationen und daraus resultierende fehlgeschlagene Tests).

Fügt man genau die gleichen libraries als direkte Abhängigkeit in den Projekten rein so klappt alles ohne Probleme....

Auch das Projekt-A POM als Parent pom anzugeben hat den gleichen Effekt, dass manche Tests scheitern.

Kann mir einer sagen warum ? und wie man es am Besten löst ?

Ziel ist es, dass die einzelnen Projekte sich nicht um die Anzahl der libs bzw deren Version kümmern sollen, sondern sich auf eine pom (als dependency am liebsten) stützen können...

Danke
 
B

bygones

Gast
ah der Praktikant hats gefunden... lol

im Projekt-A musste man nochmal explizit den compiler auf java 1.6 (wahr. ginge auch 1.5) stellen.

whau... das war mal ein offensichtlicher, intuitiver Fehler.

BTW.... warum in der Welt nutzt der maven compiler per default 1.4 ?
 
M

maki

Gast
Hast du die Probleme nur in Eclipse, oder auch von der Kommandozeile aus?

Problematisch kann es werden, wenn Projekt B Abhängigkeiten definiert, die sich mit den Projekt Abhängikeiten "beissen" (Versionkonflikte), werden die Dependencies der von Projekt B vorrangig behandelt, weil die Projekt A dependencies transitiv sind und damit eine "Stufe niedriger" prioritisiert.

Ziel ist es, dass die einzelnen Projekte sich nicht um die Anzahl der libs bzw deren Version kümmern sollen, sondern sich auf eine pom (als dependency am liebsten) stützen können...
Würde jedes Modul/Projekt seine Abhängigkeiten definieren lassen, so hast du den überblick, versionen bekommt man mit dem <DependencyManagement> Element der Parent-Pom in den Griff.

Gehe mal davon aus, dass du die aktuellste Maven Version (2.2.1) nutzt, vorgänger hatten Probleme mit dem CP wenn eine Lib in mehreren Versionen auftauchte.
 

kama

Top Contributor
Hallo,

BTW.... warum in der Welt nutzt der maven compiler per default 1.4 ?
Man nehme die aktuelle Version des Compiler Plugins und schon ist der default 1.5
Code:
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
Siehe auch Doku dazu...

Gruß
Karl Heinz Marbaise
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D eine Abhängigkeit für viele jars Tools - Maven, Gradle, Ant & mehr 4
T Maven: Abhängigkeit im Jetty laden Tools - Maven, Gradle, Ant & mehr 10
M Programm mit Maven erstellen und starten samt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 27
P Maven Projekt Abhängigkeiten auf bekante Schwachstellen prüfen Tools - Maven, Gradle, Ant & mehr 4
dtr84 Apache Ivy - Plattform-spezifische Abhängigkeiten in der "ivy.xml" parametrisieren Tools - Maven, Gradle, Ant & mehr 1
D Maven Abhängigkeiten überprüfen auf Kompatibilität mit einer anderen Java-Version Tools - Maven, Gradle, Ant & mehr 11
E Maven: Wie Abhängigkeiten analysieren? Tools - Maven, Gradle, Ant & mehr 0
S Maven Maven Site bleibt bei Abhängigkeiten hängen. Tools - Maven, Gradle, Ant & mehr 2
E Ant Problem mit Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 2
HaukeG Maven Java Web-Application in Eclipse - Abhängigkeiten zwischen den Projekten Tools - Maven, Gradle, Ant & mehr 10
X Maven Auflösung von transitiven Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 5
V Projekt Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 3
X Maven Abhängigkeiten in die jar einbinden Tools - Maven, Gradle, Ant & mehr 10
musiKk Maven Deploy von Bundles mit Abhängigkeiten an nicht-Bundles Tools - Maven, Gradle, Ant & mehr 5
D [Maven] mehrere Abhängigkeiten benutzen gleichbenannte aber verschiedene Resource Tools - Maven, Gradle, Ant & mehr 3
S Maven Abhängigkeiten Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben