我有多个相互依赖的 Elipse 插件项目。与此相关的几个问题:
1)如果我更改了一个插件的版本号,是否可以自动更新依赖插件的 plugin.xml 文件以反映版本号更改?
2) Maven pom 也是如此:当我更改版本号时,我能以某种方式自动更新 pom 吗?
3)如果我想保持 plugin.xml 和 pom.xml 版本号一致,有没有自动的方法呢?
4)最后:如果我有多个项目应该具有相同的版本号,我可以以某种方式同步版本号吗?
我有多个相互依赖的 Elipse 插件项目。与此相关的几个问题:
1)如果我更改了一个插件的版本号,是否可以自动更新依赖插件的 plugin.xml 文件以反映版本号更改?
2) Maven pom 也是如此:当我更改版本号时,我能以某种方式自动更新 pom 吗?
3)如果我想保持 plugin.xml 和 pom.xml 版本号一致,有没有自动的方法呢?
4)最后:如果我有多个项目应该具有相同的版本号,我可以以某种方式同步版本号吗?
使用Maven 发布插件- 尤其是update-versions
目标- 至少可以解决您已经解决的一些问题。
从http://maven.apache.org/的文档中:
在某些情况下,您可能需要一种简单的方法来更新多模块项目的每个 POM 中的版本号。update-versions 目标旨在实现这一目标。
要更新 POM 中的版本号,请运行:
mvn release:update-versions
系统将提示您输入项目每个模块的版本号。如果您希望每个模块版本与父 POM 相同,则可以使用选项 autoVersionSubmodules。
mvn release:update-versions -DautoVersionSubmodules=true
在这种情况下,只会提示您输入所需的版本号一次。
正如 khmarbaise 所指出的,有 Tycho,它是一个 maven 插件,充当 maven 和 eclipse 插件之间的桥梁。
这两个链接提供了实现我在问题中提出的内容所需的信息:
https://docs.sonatype.org/display/M2ECLIPSE/Staging+and+release+new+M2Eclipse+release
看来您需要使用该命令
mvn -Dtycho.mode=maven org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=<version>
这应该将父 pom、模块和 plugin.xml 的所有版本设置为给定的 version.lik