perl - 我如何在没有提示的情况下提供Maven发布准备信息?

标签 perl maven-2 maven-release-plugin

我想自动执行Maven release:Perl,以便用户不必回答版本名称等的提示。是否可以提供-D参数以便不进行提示?我尝试了一种明显的解决方案,即通过如下的perl代码将提示答案反馈给mvn:

my $cmd = qq(mvn release:prepare -DautoVersionSubmodules=true-DpreparationGoals="clean install"); 
open MVN, "| $cmd";

print MVN "\n"; # default
print MVN "$cur_version";
print MVN "\n";
print MVN "$next_version";
print MVN "\n";

close MVN;

但是mvn会忽略此类输入,并使用默认值结束播放(并且也不会提示)。

那么,对于release:prepare plugin:goal是否有-D args?

谢谢。

最佳答案

您可以使用以下maven命令来执行此操作...

mvn --batch-mode release:prepare

这将假定您通常会提示您输入的任何内容为默认值。这就像运行发行版,每次问您一个问题时都按回车即可。例如,如果您当前项目的开发版本是1.2.3-SNAPSHOT,它将发布版本1.2.3,并将您的开发版本升级到1.2.4-SNAPSHOT。通常最好还是让Maven为您解决这些问题,因为Maven的目标是在配置中使用约定。但是,如果您需要指定非默认属性,则maven-release-plugin允许命令行属性覆盖,以及使用“release.properties”文件覆盖这些设置。

关于perl - 我如何在没有提示的情况下提供Maven发布准备信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875961/

相关文章:

arrays - Perl:取消引用哈希的哈希

regex - 如何用模式重命名文件夹中的所有文件

maven-2 - 本地安装远程依赖的Maven命令

svn - Jenkins、Maven 发布插件和 SVN

perl - 在 Perl 中打印固定列表的最佳方法(使用下划线而不是空格)

perl - 为什么版本不可打印?

maven-2 - 使用 Maven 2 管理依赖关系

java - 为什么我需要将项目合规性更改为 1.5?

git - 多模块项目中的 maven-release-plugin 每个模块都有一个单独的 git 存储库

git - 无法执行 Maven 发布