Maven加载了错误版本的依赖项

时间:2016-07-01 07:33:03

标签: maven

在我的maven pom.xml中,我有以下依赖项:

<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。即使我在IntelliJ中查看有效的pom,也没有版本1.1.1的依赖,只有2.0.2的依赖。

知道maven加载错误版本的原因吗?

1 个答案:

答案 0 :(得分: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

添加angular-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>
相关问题