是否可以拆分大型Maven项目并仍然保留Reactor Sorting,父pom等?

时间:2018-05-29 20:57:39

标签: java git maven

我试图拆分一个存在于整体git存储库中的大型Maven应用程序。代码本身已经是模块化的,但是由于所有模块都在一个存储库中,每个构建都需要很长时间(多长时间?太长),每个IDE在执行检出时都会被推到极限等等。

关于整体仓库的一个好处是,通过共享一个始终存在的公共父POM,依赖和配置管理大大简化(例如,每个人都获得相同版本的Spring,Hibernate和Jackson),我们得到了一些漂亮的功能,例如在父pom级别重建时的Reactor Sorting,能够mvn versions:set全局地修改版本号,同时保留开发人员一次只构建一个项目的能力。

如何分解项目以满足这四个条件:

  1. 每个模块都有自己独立的git repo
  2. 所有模块共享主要依赖项和插件的通用配置
  3. 全局构建遵循正确的顺序(如在Reactor排序中)
  4. 开发单个模块的开发人员并不是很不方便
  5. 我最初的想法是将父pom的内容复制到每个模块pom中,摆脱父pom引用,并将每个模块检查成一个新的repo - 但这只能完成条件#1和#4 at #2和#3的成本。

0 个答案:

没有答案