gpt4 book ai didi

maven - 你应该在你的 pom 中包含那些已经是你的一些依赖项的依赖项的依赖项吗?

转载 作者:行者123 更新时间:2023-12-05 00:11:35 24 4
gpt4 key购买 nike

假设您需要两个依赖项:A 和 B。同时 A 已经是 B 的依赖项。那么您是否仍然希望/需要在 pom 中添加 A 和 B 作为依赖项?

我相信当 A 和 B 是外部库时,可能需要这可能需要 A 的版本可能与 B 所依赖的 A 的版本不同。

但是当你的模块和 A 和 B 都是同一个项目中的模块时呢?即知道他们的版本都将是同步的。

最佳答案

如果您的模块使用来自 B 的 API,最好将其显式添加到您的 pom 中,即使这不是绝对必要的。如果您升级 A,很可能它不再使用 B,然后您将获得构建失败,而无需对模块代码进行任何更改。

关于版本,您应该使用 dependencyManagement 管理这些版本。在父 pom 中。然后,您可以跳过子 pom 中托管依赖项的版本。 dependencyManagement 中的版本覆盖传递依赖项中的版本,确保您在任何地方都使用相同的版本。

如果所有模块都在同一个项目中,它们也应该共享相同的项目版本。通常,这将是快照版本,例如1-SNAPSHOT
每个模块将使用类似的东西:

<project>
<artifactId>A</artifactId>
<version>1-SNAPSHOT</version>

并在其他模块中像这样引用 A 和 B:
<dependency>
<groupId>com.yourcompany</groupId>
<artifactId>A</artifactId>
<version>${project.version}</version>
</dependency>

要在构建版本之前设置非 SNAPSHOT 版本,例如可以使用 maven-dependency-plugin 的 versions:set目标。

关于maven - 你应该在你的 pom 中包含那些已经是你的一些依赖项的依赖项的依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53200029/

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