【发布时间】:2017-10-25 20:23:02
【问题描述】:
我正在尝试自动化更改具有 ServiceMix (FuseESB) 作为集成模块的产品版本的过程。
使用 Maven 版本插件更改每个 POM 中的版本非常容易:
mvn versions:set -DnewVersion=NEW_VERSION -DgenerateBackupPoms=false
但是,我现在正在努力更新作为该产品其他模块的依赖项中的版本。特别是,在许多服务单元的 POM 文件中,存在这样的依赖项(其中 OLD_VERSION 相同,旧版本号):
<dependencies>
<dependency>
<groupId>com.company.department.product.module1</groupId>
<artifactId>artifact1</artifactId>
<version>OLD_VERSION</version>
</dependency>
<dependency>
<groupId>com.company.department.product.module1</groupId>
<artifactId>artifact2</artifactId>
<version>OLD_VERSION</version>
</dependency>
<dependency>
<groupId>com.company.department.product.module2</groupId>
<artifactId>artifact3</artifactId>
<version>OLD_VERSION</version>
</dependency>
</dependencies>
我想将这些依赖项中的版本号设置为“NEW_VERSION”。
你们有什么想法吗?
【问题讨论】:
-
目标
set用于更改项目的版本,但不用于更改依赖项。您能举一个项目示例吗?除此之外,您是否在 dependencyManagement 部分中定义了版本?你为此使用父 pom 吗? -
使用工具在文本文件(pom.xml文件)中搜索/替换也非常好用,可以搜索
<version>X</version>的模式,替换为<version>NEW</version>。
标签: maven fuseesb apache-servicemix