如何在Maven中排除依赖?代码举例讲解

在Maven中排除依赖的主要步骤是:

  1. 在依赖元素中使用子元素:
<dependency>
  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>
  <exclusions>
    <exclusion>
      <groupId>...</groupId>
      <artifactId>...</artifactId> 
    </exclusion>
  </exclusions> 
</dependency>
  1. 在元素中指定要排除的依赖的坐标。
  2. Maven在解析依赖 transitively时,会排除指定的依赖。

Maven中排除依赖的主要作用是:

  1. 排除不需要的传递依赖,使 dependency 的集合更加精简。
  2. 防止依赖版本冲突。低层依赖如果引入了较高版本,可以排除 forced 使用较低版本。
  3. 减小项目大小,只引入真正需要的依赖。

来看一个简单示例:

我们的项目依赖A,A依赖B和C:

[项目] -> [A] -> [B, C]

如果我们只想引入A和C,不需要B,可以在pom.xml中配置:

<dependency>
  <groupId>A</groupId>
  <artifactId>A</artifactId>
  <version>1.0</version>
  <exclusions>
    <exclusion>
      <groupId>B</groupId>
      <artifactId>B</artifactId>
    </exclusion>
  </exclusions>
</dependency>

最终项目的依赖关系变为:
[项目] -> [A] -> [C]

B被成功排除。

所以,通过依赖排除可以精简项目依赖,避免不需要的传递依赖。