maven依赖管理和传递依赖的版本变更



如何安全管理这样的问题:

在maven中,我们有两个库(版本20的A,版本30的B),分别依赖于C(1.0和1.1)。我们在目标库中得到jar hell

*--A20--C1.0
--B30--C1.1

然后我添加dependencymanagement部分并强制C版本为1.1。

*--A20--C1.1 (not C1.0)
--B30--C1.1

几个月后,我们决定将A升级到版本50。现在它依赖于C 2.0版本。但是由于dependencyManagement,项目仍然使用1.1。这是个问题

*--A50--C1.1 (not C2.0 as needed)
--B30--C1.1

问题是:是否有可能覆盖传递依赖,并且只有当传递依赖的版本与我们设置的版本匹配时,这个覆盖才会起作用?否则这个覆盖将被忽略,我们会看到一个错误(在maven-enforcer插件的帮助下,例如),我想知道我们是否有一些插件来检查这种情况?

No.

我理解你的用例,但是我在Maven中没有看到任何东西可以产生你想要的结果。

相关内容

  • 没有找到相关文章

最新更新