在我的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加载错误版本的原因吗?
答案 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>