0

假设我有一堆 Maven 模块,每个模块都有自己的主干/分支/标签。如下图所示。

portal_root
    +project1
        +tags
        +branches
        +trunk
    +project2
        .
        .
        .
    +parent
    pom.xml

如果遵循具有父 pom 和 svn 布局的多模块 maven 项目的答案中建议的结构,我将使父项目与子项目处于同一级别,并通过相对路径引用它。但是,我相信这会使发布政策变得相当复杂。

考虑到源是从trunk复制到tags/v*/,到父级的相对路径不再有效:比较../parent/和../../parent。此外,标记的子代没有有效的父代,因为旧的父代引用了主干。这让我想到了一个问题:为具有自己的 SCM 层次结构的模块构建标记源的 Maven 最佳实践是什么?

4

1 回答 1

0

与其使用相对路径,不如考虑在公司 Nexus 存储库上构建和分发您的父工件(或者如果您的团队很小,则在每个开发人员本地 maven 存储库上本地分发)。

然后使用标准 maven 坐标引用这个父级,maven 将尝试解决它,因为它是一个依赖项。

但是,这意味着当您对父级进行更改时,您必须更新所有下游工件,以便更改生效

于 2013-05-29T04:41:02.557 回答