【问题标题】:<runtime> Maven dependencies transitivity<runtime> Maven 依赖传递性
【发布时间】:2017-01-19 16:45:15
【问题描述】:

想想像 A-->B-->C 这样的依赖树。假设 B 在 A 中编译

如果 C 在 B 中具有 compile 范围,那么在编译 A 时,C 将包含在 A 的类路径中。

如果 C 在 B 中具有 provided 范围,那么在编译 A 时,除非 A 声明 C,否则 C 不会包含在 A 的类路径中,例如作为一个编译依赖。

如果 C 在 B 中具有 runtime 范围,那么当在专用容器中运行 A 时,C 是否可用于 A 的类路径?

【问题讨论】:

    标签: maven maven-2 maven-3


    【解决方案1】:

    假设 A->B 是“编译”,它将是 A 的运行时依赖项。这在表格中进行了解释(向下滚动):

    https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

    它几乎概括了整个传递性/范围问题。

    【讨论】:

    • 谢谢。从这个表中我们可以很容易地推断出运行时传递依赖项 C 将在最终工件中提供,因为它将反过来成为主项目的运行时依赖项。
    猜你喜欢
    • 1970-01-01
    • 2018-07-06
    • 2013-02-17
    • 2017-06-03
    • 2019-08-23
    • 2019-10-29
    • 2021-10-24
    • 2011-04-10
    相关资源
    最近更新 更多