gpt4 book ai didi

java - 模块依赖Java解释

转载 作者:行者123 更新时间:2023-11-30 11:32:33 25 4
gpt4 key购买 nike

我确定这可能是一个重复的问题,但我试图理解为什么......

  • A、B 和 C 是普通的旧 Java 模块 - A 和 B 是库,C 是应用程序。

  • 如果B依赖于A

  • C依赖于B

  • 为什么我必须在 C 的依赖项中包含 A 和 B?

我真的不是在寻求建议 - 我在项目中只有 5 个模块,所以这没什么大不了的。我只是好奇为什么会这样(或者我可能遗漏了一些明显的东西)。

最佳答案

有两种依赖关系需要考虑——项目依赖关系和运行时依赖关系。

运行时依赖是最简单的:你需要 A 和 B 的 JAR 才能运行 C,因为没有 A,B 将无法运行。 Java 模块类似于其他编译语言中的动态库(与静态库相对)。当您编译 B 时,编译器不会复制 A 的类以包含在 B 中:它假定 A、B 的依赖项在运行时可用。

项目依赖关系没那么简单:严格来说,您不需要将 A 包含在 C 的依赖关系列表中。大多数开发环境会为您找出传递依赖关系,因此当 A 发生变化时, B 将重新编译,然后 C 将重新编译以响应 B 的重新编译。

关于java - 模块依赖Java解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16600144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com