在版本11.0.2之后,Google的guava库转换为Java 6.幸运的是,对于我们这些坚持使用Java 5的人来说,他们还发布了一个" guava-jdk5"工件。
不幸的是,我的一些依赖项传递了番石榴11.0.2。这使我的项目包含guava-jdk5和guava。
通常情况下,当我有相互冲突的版本时,我可以使用" dependencymanagement"标记以指示要引入的版本。但由于这些是两个不同的工件,我不明白如何执行此操作。最后我想告诉maven,guava和guava-jdk5是相同的工件,我希望17.7版本的guava-jdk5成为使用的版本。我该怎么做?
谢谢!
答案 0 :(得分:3)
一种简单的方法是使用链接中的dependency exclusion简介:
<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>