在 Maven 中隐式包含可选依赖项

Posted

技术标签:

【中文标题】在 Maven 中隐式包含可选依赖项【英文标题】:Implicitly including optional dependencies in Maven 【发布时间】:2011-01-02 18:17:04 【问题描述】:

我有一个项目 A,它有一个依赖项 X。依赖项 X 有一个可选的依赖项 Y,默认情况下它不会包含在 A 中。有没有办法在我的 POM 中包含 Y 而不明确包含它?在 Ivy 中,他们有办法基本上说包含 X 的所有可选依赖项,Maven 有办法做到这一点吗?

【问题讨论】:

【参考方案1】:

根据 Maven 文档:

可选依赖项 - 如果项目 Y 取决于项目 Z,项目的所有者 项目 Y 可以将项目 Z 标记为 可选依赖,使用 “可选”元素。当项目 X 取决于项目 Y,X 将取决于 仅在 Y 上而不在 Y 上可选 依赖 Z. 项目 X 的​​所有者 然后可以显式添加依赖项 在 Z 上,由她选择。 (可能是 有助于思考可选 依赖项为 " 被排除 默认。”

【讨论】:

这对你帮助不大,因为你需要包含Z的版本,所以如果Y改变,X需要改变他的pom。

以上是关于在 Maven 中隐式包含可选依赖项的主要内容,如果未能解决你的问题,请参考以下文章

我在 JS 中隐式启用了“使用严格”模式 [关闭]

如何剔除Maven项目中多余的依赖项?

spring 3.0 包含哪些 maven 依赖项?

多个项目的 Maven 依赖项与依赖项管理

sbt / maven是否包含jar文件中的完整依赖项?

Maven WAR Overlays - 包括未打包的依赖项