首页 > 解决方案 > 使 maven child 依赖于不同版本的库

问题描述

项目 A 和 B 都依赖于项目 C。

项目 C 依赖于项目 D,指定为

<dependency>
  <groupId>some.group</groupId>
  <artifactId>D</artifactId>
  <version>2.0</version>
</dependency>

在项目 C 的 pom.xml 中

但是,项目 B 不适用于依赖于 D 版本 2.0 的项目 C

但 A 仅适用于项目 C,具体取决于 D 版本 2.0

我可以更改项目 B 的 pom.xml 中的某些内容以使其使用 D 版本 1.0 构建 C 吗?

标签: javamaven

解决方案


当然。使用<exclusions>. 祝你好运!
B的pom.xml

<dependency>
  <groupId>some.group</groupId>
  <artifactId>C</artifactId>
  <version>${C.version}</version>
  <exclusions>
    <exclusion>
      <groupId>some.group</groupId>
      <artifactId>D</artifactId>
     </exclusion>
  </exclusions>
</dependency>

<dependency>
  <groupId>some.group</groupId>
  <artifactId>D</artifactId>
  <version>1.0</version>
</dependency>

推荐阅读