代码之家  ›  专栏  ›  技术社区  ›  Benny Bottema

如何拆分git repo并应用maven子模块和maven父模块?

  •  0
  • Benny Bottema  · 技术社区  · 7 年前

    我需要一些关于如何配置多个repo的建议,以便它们共享一个maven父级,并在maven根项目中配置为子模块。

    我在维护开源项目 Simple Java Mail 由于有越来越大的可选功能,我计划将项目拆分成子模块,每个子模块都有自己的git repo。

    1. 我首先关心的是 梅文亲本 配置 处理所有默认测试和生成配置以及 默认测试和实用程序依赖项。那是一个额外的回购协议 想想。
    2. 下一步,轻松构建和发布所有内容 版本号,我以为 Maven子模块 安装将 是有用的。如何在Git Repo中设置此项?我的第一个想法 将是main/root maven项目的另一个repo,它定义了 子模块,然后签出这个和所有其他repo 文件夹和主maven项目将找到模块项目 具有 ..\submodule-xyz 相对文件夹。

    我以前也配置过类似的设置,但那都是在一个存储库中(在以前的Subversion时代)。有谁能建议如何在拆分回购中达到最佳效果?我最好有一个父pom和主/根pom的repo(这是常见的吗?)。是否最好与git子模块结合使用?

    1 回复  |  直到 7 年前
        1
  •  3
  •   VonC    7 年前

    这里的术语模块有点超载。

    是的,您可以在一个repo中定义父pom,声明 multi-module maven project ,每个模块引用一个子文件夹。

    这些子文件夹可以通过 git submodule add 命令,引用每个远程存储库,在其中对子项目进行版本控制。
    子文件夹相对于父目录的根文件夹,但不需要 ../ .

    每个子模块repo都可以有自己的 pom.xml ,它将主项目pom引用为父项目pom。