当前位置: 首页 > 知识库问答 >
问题:

使用maven升级模块版本

充阳秋
2023-03-14

我有一个大的多模块maven项目(几十个模块,4个嵌套级别)。

每个模块都有自己的语义版本(可以是SNAPSHOT或不是)。

我想找到一种方法,用一个命令或脚本自动增加每个模块的主要版本,以避免每个模块中的更改。

所以我举个例子

parent POM (1.2.3-SNAPSHOT)
|-- api-module (3.4.5)
|-- impl-module (5.6.7-SNAPSHOT)
|-- another-parent-module (1.0.1-SNAPSHOT)
|--|--sub-module1 (1.2.3)
|--|--sub-module2 (2.3.4)

在颠簸之后我想要

parent POM (2.0.0-SNAPSHOT)
|-- api-module (4.0.0)
|-- impl-module (6.0.0-SNAPSHOT)
|-- another-parent-module (2.0.0-SNAPSHOT)
|--|--sub-module1 (2.0.0)
|--|--sub-module2 (3.0.0)

我知道Maven Release Plugin和Maven Plugin版本,但我不知道如何让它们自动与主版本碰撞。

你能帮我解决这个问题吗?

共有2个答案

颛孙航
2023-03-14

我同意这样的观点

多模块项目,每个模块都应该有相同的版本

但是我们在一个有几个团队参与的大项目中已经有了一些模块结构,它不容易改变。

由于没有找到解决方案,我为此创建了一个groovy脚本:https://github.com/ddska/maven-semver-bumper

公良琛
2023-03-14

在多模块项目中,每个模块都应该具有相同的版本。我建议将您的模块拆分为单独的Maven项目,这样使用Maven发布插件和版本Maven插件就更容易了。

 类似资料:
  • 有许多网站提供了将liferay 6.2升级到dxp的文章,但仅限于ant项目。我们如何将liferay 6.2 maven项目升级为liferay dxp gradle项目?

  • 0.2.X

  • 从 0.8.x, 0.9.x, 0.10.0.x, 0.10.1.x, 0.10.2.x, 0.11.0.x 升级到1.0.0 Kafka 1.0.0 介绍了通信协议方面的改变。 遵循下面的滚动升级计划,可以保证您在升级过程中不用停机。 在升级之前,请先查看1.0.0版本中显著的变化。 滚动升级计划: 更新所有代理上的server.properties 并添加以下属性: CURRENT_KAFKA

  • 无非就3个原因吧 为了fix bug 为了新特性 为了爱,就是要追新 从1.a.38开始的版本,升级到最新版的成本都不大. 做到100%兼容是不现实的,但可以肯定的是, 遇到的问题的均有解决的办法. 有些兼容性问题,属于"错误"得到修正,老版本能这样写是"bug", ^_^ 这是一个汇总帖子,随时更新, 也会按版本的增长继续增长.... 请先浏览当前版本到最新版的发行注记,然后再看本列表 IE下a

  • MinDoc 根据发布系统功能不同可分为两步进行升级。有些用户可能会自定义了模板,覆盖时请注意备份。尤其是要注意备份配置文件和数据库。 版本查看 通过命令行执行如下命令: ./mindoc version 会看到如下的版本信息: #当前安装的版本版本号 MinDoc current version => v1.0 #最新版本版本号 MinDoc last version => v1.0 一、覆

  • 我有一个多模块项目,所有模块都有一个公共的父pom和一个聚合器/构建pom。我试图使用maven版本插件来更新/设置我所有模块的版本,但它一直跳过子模块。 项目布局:-通用/pom.xml(build pom)-通用/Superpom/pom.xml(父pom)-模块1/pom.xml(模块1 pom)-模块2/pom.xml(模块2 pom) 普通/聚甲醛。xml: 我尝试将插件添加到构建pom