【问题标题】:Modular Maven projects and multiple Git repositories模块化 Maven 项目和多个 Git 存储库
【发布时间】:2013-06-28 22:43:49
【问题描述】:

我已经将到目前为止我一直在编写的代码从单个 maven 项目分离到多个 maven 项目。我最终完成的项目可以被未来的项目使用,它们几乎是库。到目前为止,我一直在使用单个 Git 存储库,因为一切都在一个项目中。然而,在模块化之后,我想知道是否应该为每个 Maven 项目创建一个 Git 存储库。我认为这是正确的做法,但我想听听其他人对此的看法。既然这些项目可以作为独立的组件工作,它们也应该拥有自己的 Git 存储库吗?另一种选择是为我目前从事的项目在同一个 Git 存储库中开发所有项目。

【问题讨论】:

  • 您打算如何使用它同样会影响决策。您是否更有可能将模块作为独立的分支?
  • 这真的归结为“你想怎么做?”。对此没有“正确”的答案。无论哪种方式都可以。

标签: java git maven jakarta-ee


【解决方案1】:

既然项目可以作为独立组件运行,它们也应该拥有自己的 Git 存储库?

这实际上是定义 git repo 的主要标准之一,它将代表一组具有自己独立历史记录的连贯文件(包括其分支和标签集)

这有一个额外的优势,即依赖于 some 但并非所有组件的其他项目都不必克隆完整唯一的 git repo(其中将包含 everything ,不需要包含的组件)。
其他项目可以克隆并受益于所需组件的确切子集。

这称为component approach, as opposed to the system approach

【讨论】:

  • 是的。我要补充一点,您可能还想消除您可能拥有的任何父 pom。这样,您就可以真正独立地发展这两个模块。如果这不方便,因为您的模块实际上是紧密耦合的,那么模块化将导致比它解决的问题更多的问题。这有点像 Java 中的一种反模式,人们将每个包都变成一个模块,最终花费太多时间进行发布、构建等。
猜你喜欢
  • 1970-01-01
  • 2012-07-16
  • 2014-08-03
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-09
相关资源
最近更新 更多