2016-07-01 4 views
3

В моей Maven pom.xml У меня есть следующая зависимость:Maven загружает неправильную версию зависимости

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

Когда я построить его, Maven загружает версии 1.1.1 вместо 2.0.2. Я не могу объяснить, почему это может произойти. mvn dependency:tree дает мне следующий вывод:

[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] ... 

Так, Chart.js является прямой зависимостью моего проекта и никакой другой зависимости не зависит от Chart.js и сил загрузки версии 1.1.1. Даже когда я смотрю на эффективный pom в IntelliJ, нет никакой зависимости для версии 1.1.1, только моя зависимость для 2.0.2.

Любая идея, почему maven загружает неправильную версию?

+0

Это не должно случаться, так что я выполнил бы пару проверок здравомыслия, например, проверьте, есть ли у вас секция управления зависимостями, проверьте, есть ли у вас родительский элемент и есть раздел управления зависимостями, попробуйте указать версию с помощью фиксированного диапазона ' [2.0.2]'. –

+0

Я просто добавляю его к образцу проекта и получил '2.0.2' правильно, используя maven' 3.3.9'. его файл pom также выглядит отлично. Вы уверены, что не позаботились о неверном помпе? –

+0

Я уже проверил все это. Раньше у меня не было такой проблемы. И я работаю с maven уже много лет. –

ответ

4

Ваша проблема в том, что angular-chart.js: jar: 0.10.2 имеют зависимость от chart.js 1.1.1. У вас здесь конфликт.

Посмотрите на эту ссылку, чтобы увидеть все зависимость: https://maven-repository.com/artifact/org.webjars.bower/angular-chart.js/0.10.2

Вам нужно добавить исключения тегов при добавлении углового chart.js зависимости:

<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

Но' mvn dependency: tree' не показывает зависимости для меня. –

+0

Как вы положили свою команду. Вы пробовали, что maven рекомендует: http://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-the-dependency-tree.html. –

+0

Спасибо. Это исправило это. Но мне кажется странным, что 'mvn dependency: tree' не отображает зависимости зависимостей, даже если они перекрывают мои собственные зависимости. –

Смежные вопросы