我要假设一个例子,我们假设我们具有以下Maven依赖项:
<dependency>
<groupId>org.group1</groupId>
<artifactId>dependency1</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.group2</groupId>
<artifactId>dependency2</artifactId>
<!-- This dependency needs the version 2.0 of the dependency1 -->
</dependency>
这里发生了什么?我们有两个依赖项,一个“ dependency1”的版本为1.0,而“ dependency2”内部需要第一个依赖的版本2.0。您可以说,我可以删除删除“ dependency1”并保留dependency2,因为它已经具有该依赖关系。但是,如果我仅使用“ dependency2”,则某些方法将失败。
因此,结论:我需要在整个项目中使用“ dependency1”的1.0版,但是,当项目使用“ dependency2”时,我要加载“ dependency1”的2.0版。
我不知道我的解释是否很好,但是有什么建议吗?