【问题标题】:Is it possible to skip the version of a maven parent in the child? [duplicate]是否可以在孩子中跳过 Maven 父母的版本? [复制]
【发布时间】:2013-06-22 21:35:06
【问题描述】:

Sonatype Maven Guide 示例多模块项目中,必须在父pom.xml 和所有子pom.xmls 中定义项目的版本(以引用父版本)。

有没有办法在一个位置定义版本?似乎需要进行大量更改才能提升版本。

【问题讨论】:

    标签: maven


    【解决方案1】:

    在我看来,组织多模块 Maven 项目的正确方法是让一个项目通过其 dependencyManagement 部分来跟踪工件版本,这是所有其他项目的父项;和一个 aggregator 项目,其中包含所有其他项目,如 modules,包括父项目。

    这使您可以集中处理项目之间和外部库之间的依赖关系的版本。您仍然必须明确跟踪每个项目在其 pom 中的版本与父项目中的对应关系,以及父项目在其 pom 中与其所有后代中的版本之间的对应关系。

    我同意这是一项繁重的工作,而且很容易出错:考虑使用自定义插件和/或脚本将其自动化。 Maven Release plugin 可以帮助解决这个问题。

    【讨论】:

    • 拥有一个父级加聚合器与只有一个父级进行聚合相比有什么优势?
    • 这是一个更好的关注点分离。如果需要,将依赖管理与聚合分开可以更容易地在不同的上下文中重用特定项目。此外,根据您使用的版本控制工具,您可能可以使用不同的聚合器来组合子项目的重叠子集,例如将单个产品转换为产品系列。
    • 我基本上接受这个答案“不,不可能......这里有一些额外的相关信息”
    猜你喜欢
    • 2017-10-25
    • 2012-01-28
    • 2021-08-27
    • 2017-10-11
    • 2022-06-15
    • 2020-05-26
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多