2016-07-01 10 views
3

In meinem Maven pom.xml Ich habe die folgende Abhängigkeit:Maven lädt falsche Version der Abhängigkeit

<dependency> 
    <groupId>org.webjars.bower</groupId> 
    <artifactId>Chart.js</artifactId> 
    <version>2.0.2</version> 
</dependency> 

Als ich es bauen, Maven Lasten Version 1.1.1 statt 2.0.2. Ich kann nicht erklären, warum das passieren könnte. mvn dependency:tree gibt mir die folgende Ausgabe:

[INFO] my.group:mypackage:war:0.0.1-SNAPSHOT 
[INFO] ... 
[INFO] +- org.webjars.bower:Chart.js:jar:1.1.1:compile 
[INFO] +- org.webjars.bower:angular-chart.js:jar:0.10.2:compile 
[INFO] ... 

So ist Chart.js eine direkte Abhängigkeit von meinem Projekt und keine andere Abhängigkeit hängt von Chart.js und Kräften Laden von Version 1.1.1. Selbst wenn ich den effektiven Pom in IntelliJ betrachte, gibt es keine Abhängigkeit für Version 1.1.1, nur meine Abhängigkeit für 2.0.2.

Eine Idee, warum Maven die falsche Version lädt?

+0

Es sollte nicht passieren, so dass ich würde ein paar Plausibilitätsprüfungen machen, zB prüfen, ob Sie einen Abhängigkeitsverwaltungsbereich haben, prüfen, ob Sie einen Elternteil haben und der Abhängigkeitsverwaltungsbereich, versuchen, die Version über den festen Bereich ' [2.0.2]' anzugeben. –

+0

Ich füge es einfach zu einem Beispielprojekt hinzu und bekomme '2.0.2' richtig, mit maven' 3.3.9'. Seine Pom-Datei sieht auch gut aus. Bist du sicher, dass du nicht nach dem falschen Pom gesucht hast? –

+0

Ich habe das schon überprüft. Ich hatte noch nie so ein Problem. Und ich arbeite seit Jahren mit Maven zusammen. –

Antwort

4

Ihr Problem ist, dass angular-chart.js: jar: 0.10.2 eine Abhängigkeit zu chart.js haben 1.1.1. Sie haben hier einen Konflikt.

Schauen Sie eine diesen Link, um alle Abhängigkeiten zu sehen: https://maven-repository.com/artifact/org.webjars.bower/angular-chart.js/0.10.2

Sie benötigen Ausschluss-Tags hinzufügen, wenn Sie Winkel chart.js Abhängigkeit hinzu:

<dependency> 
    <groupId>org.webjars.bower</groupId> 
    <artifactId>angular-chart.js</artifactId> 
    <version>0.10.2</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.webjars.bower</groupId> 
      <artifactId>Chart.js</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
<dependency> 
    <groupId>org.webjars.bower</groupId> 
    <artifactId>Chart.js</artifactId> 
    <version>2.0.2</version> 
</dependency> 
+0

Aber' mvn Abhängigkeit: Baum' zeigt die Abhängigkeit zu mir nicht. –

+0

Wie hast du dein Kommando gesetzt? Haben Sie versucht, was maven empfiehlt: http://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html. –

+0

Danke. Das hat es behoben. Aber ich finde es wirklich seltsam, dass 'mvn dependency: tree' Abhängigkeiten von Abhängigkeiten nicht zeigt, auch wenn sie meine eigenen Abhängigkeiten außer Kraft setzen. –

Verwandte Themen