You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven依赖排除是否会移除传递依赖的传递依赖?

依赖排除是否会移除传递依赖的传递依赖?

结论

会,Maven的依赖排除规则会作用于目标依赖整个依赖树中的所有对应构件,无论它处于传递依赖的哪一层级。

针对你的场景分析

先看你的pom配置:

<dependency>
  <groupId>eg1</groupId>
  <artifactId>ea1</artifactId>
  <version>1</version>
</dependency>
<dependency>
  <groupId>g1</groupId>
  <artifactId>a1</artifactId>
  <version>1.2.3</version>
  <exclusions>
      ...
      <exclusion>
          <groupId>eg1</groupId>
          <artifactId>ea1</artifactId>
      </exclusion>
</dependency>

对应的依赖层级:

>> a1 (dependency)
>> >> ea1 (transitive dependency of a1 with version 1)
>> >> a2 (transitive dependency of a1)
>> >> >> ea1 (transitive dependency of a2 with version 2)

你对a1配置的eg1:ea1排除,会移除a1依赖树里所有的ea1实例:

  • 直接移除a1自身的传递依赖ea1:1
  • 同时也会移除a1的传递依赖a2所带的ea1:2

需要注意:你pom中直接声明的eg1:ea1:1不会被这个排除影响,因为排除规则仅作用于a1及其下属的传递依赖链。

内容的提问来源于stack exchange,提问作者Mkl Rjv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 19:50:01