我正在为几个相互依赖的项目构建部署管道。每个构建都会生成一个具有唯一版本号的新发布构建,该版本会部署到 Maven 存储库。然后以该新版本作为依赖项触发管道中的下游项目,并以类似的方式构建。
我需要的是在构建项目之前更改 pom.xml(或多模块项目中的所有 pom)中的属性值。例如,在以下代码中,“0.1.200”将更改为“0.1.345”(或任何最新的内部版本号)。使用系统属性不是一个选项,因为更新的 pom 将部署在 Maven 存储库中,因此更改必须是持久的。
<properties>
<foo.version>0.1.200</foo.version>
</properties>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>foo</artifactId>
<version>${foo.version}</version>
</dependency>
</dependencies>
是否有一些 Maven 插件可以通过一个命令行指令执行此操作?否则,我将需要编写一个简短的脚本(例如在 Ruby 中)来解析和更改项目中的所有 pom.xml 文件。