繁体   English   中英

跨多个Maven项目管理一致的版本

[英]Managing consistent versions across multiple Maven projects

我有一个由各种Java库和服务组成的系统,都是用Maven构建的 - 每个都是一个独立的Maven项目,它引用了一个共同的父pom项目,该项目定义了第三方库的一致版本集。 每个项目都使用属性来定义堆栈中的依赖项版本。

目前,为了构建一组发布工件,我们必须处理堆栈,对每个项目进行发布构建。 这需要手动更改内部版本(在属性部分中)以匹配发布堆栈版本。

例如,假设我们有3个项目,A,B和C,其中C依赖于A和B.然后过程将是:

  1. 发布版本A.
  2. 发布版本B.
  3. 更新C pom.xml以引用A和B的新发行版本。
  4. 提交pom.xml
  5. 发布版本C.

对于大量项目而言,这变得相当繁琐且容易出错。

我的问题是,是否有一种首选方法可以自动化其中一些,例如在自己的项目中定义发布库版本? 例如,我们集中定义了包含系统Vx.y的库版本。 然后,我们自动更新所有项目pom.xml文件以使用这些版本。

我们尝试过的一件事是将版本放入共享父pom中,然而这会创建一个循环依赖,这导致一个永无止境的更改父pom版本的循环,因为lib版本已经更改,然后需要更新所有项目拿起新的父pom,然后需要一个新的父pom等等。

一致的答案似乎是 - 使用Maven多模块项目。 我用两个系统试过这个,发现它确实很好用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM