具有自己的SCM布局的Maven多模块 - 如何构建标签?

时间:2013-05-28 21:40:23

标签: maven maven-2 maven-release-plugin

假设我有一堆maven模块,每个模块都有自己的trunk / branches / tags。想象如下。

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

如果遵循multi module maven project with parent pom and svn layout答案中建议的结构,我会将父项目与子项目放在同一级别,并通过相对路径引用它。但是,我认为这大大使发布政策变得复杂。

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

1 个答案:

答案 0 :(得分:0)

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

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

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