Maven多模块项目版本控制的良好实践

时间:2015-03-04 08:55:01

标签: maven

我对在Maven多模块项目中处理模块版本控制的正确方法感到困惑。让我介绍一个假项目的结构来解释我的怀疑:

parent
- libs
  - lib1
  - lib2
- batches
  - batch1
  - batch2

除此之外, batch1 依赖于 lib1 ,而 lib2 依赖 batch2 。所有这些模块都在1.0.0版本中。我正在开发一个新的1.0.1版本。此版本中唯一需要更改的模块是 lib1 batch1 在版本1.0.2之前不需要实现这些更改。

问题是:哪些模块应移至版本 1.0.1-SNAPSHOT

我的答案是: lib1 libs 父级。那些是实际改变的唯一模块(如果我们认为父模块“包含”他们孩子的代码)但是一些模块仍然是过时的父1.0.0的子项,这听起来不对。

你会推荐什么?

1 个答案:

答案 0 :(得分:1)

没有全球标准,这完全取决于您的要求。

因此,如果您有100个模块,那么您不会在每个版本中发布所有模块,这意味着组件将在不同版本上。

但是如果你有一个小套装,那么你可以随时将组件升级到新版本,即使它们没有变化。在这种情况下,您只需使用父pom版本即可管理版本。

编辑:

如OP提到的那样,他有很多模块,在这种情况下,每个模块都应该有自己的pom版本。将它们保持在同一版本是不可行的。许多组织和项目都遵循这一点。