maven release-plugin 在非交互模式下的使用

Posted

技术标签:

【中文标题】maven release-plugin 在非交互模式下的使用【英文标题】:maven release-plugin usage in non-interactive mode 【发布时间】:2014-01-08 13:27:33 【问题描述】:

当 maven 在非交互模式下运行时,我对 pom 文件中的版本号以及 -DdevelopmentVersion=2.0-SNAPSHOT 和 -DreleaseVersion=1.2 等系统属性如何工作感到困惑。

当我使用 <version>1.0-SNAPSHOT</version><packaging>jar</packaging> 为 pom.xml 运行 mvn –B release:prepare –Dtag=1.2 -DdevelopmentVersion=2.0-SNAPSHOT -DreleaseVersion=1.2 时,生成的 jar 文件使用 pom 版本号而不是命令行版本,即 xxx-1.0-SNAPSHOT.jar 。

这是预期的行为吗?如果是,那么在命令行上指定版本有什么意义?

【问题讨论】:

【参考方案1】:

您应该知道release:prepare 是发布过程的第一部分。之后您需要提供release:perform,它将从版本控制中签出创建的标签并开始构建将真正发布的艺术品。

【讨论】:

【参考方案2】:

所以我发现了我的错误: 在运行示例版本之前:prepare 在我的问题中,我已经执行了一个 dryRun 即使用 option-DdryRun=true 。 这创建了一个 release.properties 文件,供后续 release:prepare 命令使用,直到使用 release:clean 清理它为止

【讨论】:

以上是关于maven release-plugin 在非交互模式下的使用的主要内容,如果未能解决你的问题,请参考以下文章

强制 maven 在非空违规情况下构建失败

使用 Maven 发布插件时避免 gpg 签名提示

在非交互式 shell 中展开别名

仅在非交互式运行时如何从 Powershell 脚本返回退出代码

即使使用 API 密钥,Fastlane 上传到 App Store 也会在非交互模式下失败

如何在非 Tycho 项目中使用 pomless tycho 工件