将父版本更新为下一版本

时间:2013-06-26 13:49:50

标签: maven

http://mojo.codehaus.org/versions-maven-plugin/update-properties-mojo.html

Maven版本插件versions:update-parent仅更新到最新的快照或发布版本。

但是,我目前正在使用1.1-SNAPSHOT,我有这个父版本的1.1和2.0版本。我怎样才能更新到1.1?

注意:这不是一个多模块项目。父母是公司/项目范围内的所有项目继承。

3 个答案:

答案 0 :(得分:12)

我遇到了和你一样的问题,但最后明白它只接受一个范围作为输入,而不是单个值,所以在你的情况下你应该把:

  

mvn版本:update-parent -DparentVersion = [1.0,1.1]

如果存储库中存在1.1,则应选择1.1。

了解plugin bug tracker

中的门票

答案 1 :(得分:6)

这有效:

mvn versions:update-parent -DparentVersion=[1.1]

原因是:因为parentVersion属性应该是范围,而不是单个版本。

然后你可以设置" -DparentVersion=[14,16)"如versions-maven-plugin中所述,但如果要设置给定版本(例如1.0),则必须使用边界括号来定义仅包含一个结果的范围:[1.0]。

请参阅版本范围说明:http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html

如果您不忘记设置allowSnapshots = true

,这也适用于-SNAPSHOT版本

答案 2 :(得分:0)

对于更自动化的方法,您可以使用build-helper:parse-version帮助器,以便可以更新到下一个父版本(您仍然需要知道“下一个”部分)。例如,下一个父母未成年人:

mvn build-helper:parse-version versions:update-parent -DparentVersion='[${parsedVersion.majorVersion}.${parsedVersion.nextMinorVersion}]'