Maven-在依赖关系管理中使用不同类型/分类器复制依赖关系

Maven-在依赖关系管理中使用不同类型/分类器复制依赖关系,maven,maven-3,maven-dependency-plugin,Maven,Maven 3,Maven Dependency Plugin,我正在查看一个项目的POM,它的依赖关系管理部分列出了相同的工件3次——每次都使用不同的分类器/类型。这有助于你实现什么目标 具体来说,所讨论的依赖关系是项目的测试模块。其在POM中的3次出现具有以下形式: 默认范围、默认类型、默认分类器 默认范围、测试jar类型、默认分类器 默认范围、测试jar类型、测试源分类器 依赖关系管理有助于将依赖关系组织到一个中心位置。在您的案例中,该特定工件将以不同的形式在不同的模块中使用: 纯依赖 与依赖它的模块共享测试代码(测试依赖关系)-3相同 这有两个优点:

我正在查看一个项目的POM,它的依赖关系管理部分列出了相同的工件3次——每次都使用不同的分类器/类型。这有助于你实现什么目标

具体来说,所讨论的依赖关系是项目的测试模块。其在POM中的3次出现具有以下形式:

  • 默认范围、默认类型、默认分类器
  • 默认范围、测试jar类型、默认分类器
  • 默认范围、测试jar类型、测试源分类器

  • 依赖关系管理有助于将依赖关系组织到一个中心位置。在您的案例中,该特定工件将以不同的形式在不同的模块中使用:

  • 纯依赖
  • 与依赖它的模块共享测试代码(测试依赖关系)-3相同

  • 这有两个优点:1)避免了所有继承自父项目的项目在需要依赖其中一个工件时都需要声明版本。2) 为了便于管理这些依赖项的版本更改,您只需在一个位置更改版本。您是对的。我认为,如果在依赖关系管理中不指定任何类型/分类器,我仍然可以在子POM中指定它,同时引用来自依赖关系管理的版本,这不是它的工作方式。