Maven 发布插件:指定新的开发版本不影响 pom 的自定义属性
Posted
技术标签:
【中文标题】Maven 发布插件:指定新的开发版本不影响 pom 的自定义属性【英文标题】:Maven release plugin: Specifying new development version do not affects on pom's custom property 【发布时间】:2012-10-11 12:48:35 【问题描述】:我有以下不太结构化的 pom:
...
<groupId>xxx</groupId>
<artifactId>yyy</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
...
<properties>
<xxx.yyy.version>0.1-SNAPSHOT</xxx.yyy.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>xxx</groupId>
<artifactId>aaa</artifactId>
<version>$xxx.yyy.version</version>
</dependency>
...
</dependencies>
</dependencyManagement>
mvn release:prepare 成功将 pom 的版本和 xxx.yyy.version 属性的值更改为 cmd 发布版本中指定的值(例如 0.1) - 很好,可以。之后,pugin 设置项目的新开发版本(例如 0.2-SNAPSHOT) - 这就是我遇到问题的地方:xxx.yyy.version 属性的值仍然为 0.1。为什么 xxx.yyy.version 属性没有更改为指定的新开发版本 0.2-SNAPSHOT?如何解决?提前谢谢
【问题讨论】:
我很难理解你的问题。您是说 maven-release-plugin 正确地将您的自定义属性 (xxx.yyy.version
) 从 0.1-SNAPSHOT 更新到 0.1,但在完成发布后未能将其更新到 0.2-SNAPSHOT?
是的,完全正确。这是我的问题
对我来说只是改变第三个数字(比如从 0.0.1-SNAPSHOT 到 0.0.2-SNAPSHOT)。我想知道是否有办法设置自定义下一个版本。
【参考方案1】:
严肃的回答:考虑改用Maven Version Numbers Plugin。我从来没有听说过关于发布插件的好消息(至少,我听说过很多像你这样的故事)。
【讨论】:
在这个阶段对我来说听起来像是明智的建议 - 我目前正在与严重无证的 maven-release-plugin 作斗争以尝试做同样的事情。否决票似乎不公平......【参考方案2】:确保在 maven-release-plugin 配置中 updateWorkingCopyVersions 参数未设置为 false(默认为 true)。 当此参数设置为 false 时,版本不会增加
【讨论】:
以上是关于Maven 发布插件:指定新的开发版本不影响 pom 的自定义属性的主要内容,如果未能解决你的问题,请参考以下文章
我应该使用啥版本的 Java 来开发我的 MOJO Maven 插件?