【问题标题】:Update Maven dependency version in multiple ServiceMix POMs在多个 ServiceMix POM 中更新 Maven 依赖版本
【发布时间】: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文件)中搜索/替换也非常好用,可以搜索&lt;version&gt;X&lt;/version&gt;的模式,替换为&lt;version&gt;NEW&lt;/version&gt;

标签: maven fuseesb apache-servicemix


【解决方案1】:

刚刚找到了非常简单的解决方案 - 用 ${project.version} 替换依赖项的版本 - 对我有用,因为在我的项目中,依赖项与项目本身具有相同的版本(它们都是同一产品的工件) .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    相关资源
    最近更新 更多