管理依赖项的版本

时间:2013-03-22 22:32:04

标签: maven dependencies

管理依赖项版本的最佳方法是什么?。

通常我会创建一个超级POM(非父POM),我会在超级POM中声明所有依赖项。所以我的所有项目都可以引用POM来获取依赖项。优点是我的所有依赖项都是从中央POM控制的。

但是,如果我们年复一年地开发一些销售给不同客户的产品,并且依赖版本会逐年更新。如何跟踪我发布给每个客户端的产品的依赖项版本?..每次需要更新依赖版本时,我都不想继续更新我的POM。

所以我考虑在我的设置xml中保留依赖项的版本,因为每个版本的属性和设置都可以更新或版本化。

我在Maven有经验,但不是专家。有什么好建议吗?... 提前致谢 约瑟夫

1 个答案:

答案 0 :(得分:2)

  • 将所有版本放在父pom的dependencyManagement中。 (正如你现在所做的那样,这就是依赖管理存在的原因)
  • 要跟踪旧版本:在SCM中使用标记。
  • settings.xml不属于项目的一部分!它包含有关构建环境的属性和数据(即不是项目)。
  • 不要混合不同项目的依赖关系。这似乎是一个非常糟糕的想法(这意味着如果你为一个特定的客户创建一个广泛使用的依赖项(例如hibernate):它将针对你的所有项目进行更新。所以你必须重新验证你所有的项目新版本的hibernate)

还有一个小问题,您在对settings.xml进行版本控制和对父pom进行版本控制之间有何不同?