比较

这是一个小矩阵,可以帮助您选择正确的实例。

一般来说:

  • Artifact 保存映射在某个坐标上的文件。
  • 依赖项包含一个工件并具有传递信息
  • 一个 MavenProject 包含一个 pom 文件和可选的主文件,并且可以附加(=分类)文件,所有文件都使用相同的 GAV。
    依赖 神器 Maven项目
    有依赖关系 是的 是的
    文件类型参考 类型 文件扩展名 包装
    版本范围 是的
    附加工件 是的

这意味着以下内容:

  • 从依赖项到工件是可能的,因为您可以将类型映射到扩展。但是,不可能从工件回到依赖项,有几种类型具有 jar 作为文件扩展名。
  • 没有传递伪影之类的东西。基于 DependencyFilters 在解析期间进行过滤,ArtifactFilters 只能在之后应用,因此效率较低。