【问题标题】:What's the difference between the maven-dependency-plugin and dependencyManagementmaven-dependency-plugin和dependencyManagement有什么区别
【发布时间】:2021-01-21 10:10:32
【问题描述】:

我对 maven 中 maven-dependency-plugin 中定义的 artifactItemdependencyManagement/dependencies 中定义的 dependency 之间的区别感到困惑。

我真正的问题是为什么你把artifactItem放在maven-dependency-plugin -> configuration->artifactItems,而你可以把dependency放在dependencyManagement/dependencies下面?

是否因为您可以使用 maven-dependency-plugin 指定将依赖项复制/打包到指定文件夹?如果是这样,是否意味着 maven-dependency-plugin 是dependencyManagement 的超集?如果是真的,为什么还要麻烦依赖管理?

为简单起见,我们不考虑多个项目。我们假设只有一个项目和一个pom,它没有任何子项目。

【问题讨论】:

    标签: java maven


    【解决方案1】:

    maven-dependency-pluginartifactItem 仅适用于该特定步骤(例如,解压缩该依赖项或将其复制到某处)。在dependencyManagement 中,您可以指定工件版本等,以便您可以仅在dependencies 部分中按组和工件ID 将它们包含在子模块中,而版本仅在dependencyManagement 块中配置。所以从技术上讲,这 3 种配置方式(maven-dependencies-plugindependencyManagementdependencies 都有自己的用途,既不是超集也不是另一个的子集。

    【讨论】:

    • 感谢您的回答。我同意你的看法。虽然 artifactItem 只适用于特定任务,但它仍然是一个依赖项。是真的吗?
    • 不是项目依赖的意义。它不会被添加到依赖树中并且不可用,例如在类路径上,在 IDE 中运行应用程序时。
    • 所以准确地说,是的,它是一个依赖项,但仅适用于该特定任务,而不适用于整个项目或任何其他任务。
    猜你喜欢
    • 2018-06-16
    • 2014-10-10
    • 1970-01-01
    • 2020-01-01
    • 2018-09-17
    • 2012-08-07
    • 1970-01-01
    • 2015-09-27
    • 2021-01-24
    相关资源
    最近更新 更多