Apache Maven 依赖插件

依赖插件提供了操作工件的能力。它可以将工件从本地或远程存储库复制和/或解压缩到指定位置。

目标概述

依赖插件有几个目标:

  • dependency:analyze分析该项目的依赖关系,并确定哪些是:已使用和已声明;使用和未声明;未使用和声明。
  • dependency:analyze-dep-mgt分析您的项目依赖项并列出已解决的依赖项与您的依赖项管理部分中列出的不匹配项。
  • dependency:analyze-only与analyze 相同,但被绑定在pom 中。它不会分叉构建并执行测试编译。
  • dependency:analyze-report分析该项目的依赖关系并生成一个报告,总结哪些是:已使用和已声明;使用和未声明;未使用和声明。
  • dependency:analyze-duplicate分析 pom.xml 中的<dependencies/>and<dependencyManagement/>标记并确定重复声明的依赖项。
  • dependency:build-classpath告诉 Maven 以类路径格式从本地存储库输出依赖项的路径,以便在 java -cp 中使用。类路径文件也可以与主要工件一起附加和安装/部署。
  • dependency:copy获取插件配置部分中定义的工件列表并将它们复制到指定位置,如果需要,重命名它们或剥离版本。如果本地存储库或反应器中不存在远程存储库中的工件,则此目标可以解析它们。
  • dependency:copy-dependencies获取项目直接依赖项列表和可选的传递依赖项,并将它们复制到指定位置,如果需要,剥离版本。这个目标也可以从命令行运行。
  • dependency:display-ancestors显示项目的所有祖先 POM。这在您想知道项目的所有父 pom 的持续集成系统中可能很有用。这个目标也可以从命令行运行。
  • dependency:get从指定的远程存储库中解析单个工件,最终可传递。
  • dependency:go-offline告诉 Maven 解决该项目所依赖的所有内容(依赖项、插件、报告)以准备离线。
  • dependency:list解析的别名,列出了此项目的依赖项。
  • dependency:list-classes显示在指定工件中找到的所有类的完全包限定名称。
  • dependency:list-repositories显示所有项目依赖项,然后列出使用的存储库。
  • dependency:properties为每个项目依赖项设置一个属性,该依赖项包含文件系统上的工件。
  • dependency:purge-local-repository告诉 Maven 从本地存储库中清除依赖项工件文件,并可选择重新解析它们。
  • dependency:resolve告诉 Maven 解析所有依赖项并显示版本。JAVA 9 注意: 使用 Java 9 运行时将显示模块名称。
  • dependency:resolve-plugins告诉 Maven 解析插件及其依赖项。
  • dependency:sources告诉 Maven 解析所有依赖项及其源附件,并显示版本。
  • dependency:tree显示此项目的依赖关系树。
  • 依赖:像复制一样解包,但解包。
  • dependency:unpack-dependencies类似于 copy-dependencies 但解包。

用法

有关如何使用 Dependency Plugin 的一般说明可以在使用页面上找到。下面给出的示例中描述了一些更具体的用例。

如果您对插件的使用仍有疑问,请查看常见问题解答并随时联系用户邮件列表。邮件列表中的帖子已存档,并且可能已经包含您问题的答案,作为旧线程的一部分。因此,也值得浏览/搜索邮件存档

如果您觉得插件缺少功能或存在缺陷,您可以在我们的问题跟踪器中提交功能请求或错误报告。创建新问题时,请提供您所关注问题的全面描述。特别是对于修复错误,开发人员可以重现您的问题至关重要。出于这个原因,非常感谢附在问题上的整个调试日志、POM 或最好的小演示项目。当然,补丁也是受欢迎的。贡献者可以从我们的源代码库中查看该项目,并将在帮助使用 Maven 的指南中找到补充信息。

例子

以下示例展示了如何在更高级的用例中使用依赖插件:

资源

这是一个链接,它提供了有关依赖项(即依赖项管理、传递依赖项)的更多参考。