gpt4 book ai didi

maven - 自动获取 maven 中最新的传递依赖

转载 作者:行者123 更新时间:2023-12-03 21:14:44 25 4
gpt4 key购买 nike

考虑一个非常常见的情况,当一个项目依赖于 2 个库,每个库都传递着不同版本的第 3 个库:

Project A:
Library B:
Library D: version 1
Library C:
Library D: version 2

我可以用 maven enforcer plugin's dependencyConvergence rule检测此类问题,然后直接在我的项目 A 的 pom 中指定库 D 的版本,例如 部分。

但这会产生另一个问题:现在我必须手动跟踪库 D 的版本,即使我的项目没有直接使用它。
每次更改库 B 或库 C 的版本时,我都必须记住还要更新项目中库 D 的版本。很容易忘记!

有没有办法告诉 maven 只使用最新版本的传递库?
就像是:
<dependencyManagement>
...
<dependency>
<groupId>path.to</groupId>
<artifactId>library-D</artifactId>
<version>
<use_newest_one_from_all_transitive_dependencies_please/>
</version>
</dependency>

有没有办法实现这一目标?

最佳答案

不,正如 khmarbaise 已经说过的,这是不可能的。

解析规则深深地存在于 Maven 本身中。您可以检查分辨率的结果(正如您已经提到的),但您不能更改它。

我们决定通过使用我们 import 的适当 BOM(dependencyManagement 列表)修复几乎所有版本的传递依赖项。在 <dependencyManagement>部分。这保证了所有依赖项都在最新版本中。它并不能保证一切都适合在一起。但是使用最新版本作为标准也不会这样做。

关于maven - 自动获取 maven 中最新的传递依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61589956/

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