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

时间:2018-11-24 09:26:33

标签: git maven

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

我正在维护开源项目Simple Java Mail,并且由于可选功能越来越大,我计划将项目分成子模块,每个子模块都在自己的GIT存储库中。

>
  1. 我首先要担心的是,应该有一个共享的 Maven父母 配置,可处理所有默认测试和构建配置以及 默认测试和实用程序依赖项。那是我可以做的一个额外的回购 想想。
  2. 下一步,轻松地将所有内容一起构建和发布 版本号,我认为安装 Maven子模块 有用。如何在GIT仓库中进行设置?我的第一个想法 将是主/根Maven项目的另一个仓库,该仓库定义了 子模块,然后在同一位置签出此仓库和所有其他仓库 文件夹,主Maven项目将找到模块项目 与..\submodule-xyz个相对文件夹。

我之前已经配置了类似的设置,但是全部都在一个存储库中(在Subversion很好的旧时代)。任何人都可以建议如何通过分离的回购协议最好地解决这个问题吗?最好我为父pom和主/ root pom有一个存储库(这很常见吗?)。最好与git子模块结合使用?

1 个答案:

答案 0 :(得分:2)

模块一词在这里有点重载。

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

可以通过git submodule add命令创建这些子文件夹,并分别引用该子项目所在版本的远程存储库。
子文件夹相对于父目录的根文件夹,但不需要../

每个子模块存储库都可以有自己的pom.xml,它将主prom pom称为父pom。