【问题标题】:Maven parent POM maintaining versions of libraries depending on parent POM?Maven父POM根据父POM维护库版本?
【发布时间】:2019-07-24 11:01:34
【问题描述】:

我在同一个存储库中有一个 maven 聚合父 POM foobar-parent 和两个聚合子 foobar

例如,我在另一个依赖于 foo 的存储库中有另一个非常酷的库,名为 widgets

然后我有许多其他库,例如exampleapp,它们可能依赖于foobar 和/或widgets。但是它们都使用foobar-parent 作为它们的父 POM。

foobar-parent 父 POM 已经在其依赖管理中指示了 foobar 的版本。但是因为很多库都使用widgets,所以我想确保所有库都使用相同的widgets 版本。即使widgets 本身依赖于foobar,并且widgets POM 将foobar-parent 作为其父POM聚甲醛?

(这不应该是循环依赖,因为foobar-parent 没有将widgets 定义为依赖——它只为任何使用widgets 作为依赖的库定义其版本。)

【问题讨论】:

    标签: maven parent-pom


    【解决方案1】:

    从技术上讲,这应该不是问题,原因您已经提到过。

    从组织的角度来看,我会考虑将聚合器 pom 与组织依赖管理的 pom 区分开来,我的意思是:您可以引入第二级父 POM。

    【讨论】:

    • 我预见的一个问题是foo-parent 必须指出一个widgets 版本尚未发布,假设widgets 本身使用foo-parent .并且发布另一个级别(我们称之为foo-two-parent)只是添加widget 似乎是一个有趣的想法,但是每次我发布foo 和/或bar 的新版本时,我都必须发布一个新版本foobar-parent foo-two-parent 的版本,这似乎需要做很多工作。否则foo-two-parent 会卡在旧版本的foo-parent 上。我在这里没有看到任何令人满意的解决方案。
    猜你喜欢
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 2018-03-05
    • 2021-10-15
    • 2015-01-31
    • 1970-01-01
    相关资源
    最近更新 更多