maven-release-plugin隐藏其他插件的用户交互(标准输入/标准输出)

时间:2019-05-14 15:46:32

标签: java maven maven-release-plugin

如果正在运行maven-release-plugin,则与用户交互的其他任何mvn插件(要求输入)均不起作用。

我制作了一个自定义的mvn插件,该插件在“验证”阶段运行一些验证。当这些验证发现一些错误时,它将要求用户确认以继续进行或失败。

类似:

> We have found 3 problems!
> Problem 1: asdfasdfadsf
> Problem 2: sdfgsdfg
> Problem 3: asdfasdfahfg
> "Do you want to continue anyway? (y/n) ?: __"

如果我这样运行:“ $ mvn validate”工作正常,但是,当我运行“ $ mvn release:prepare”之类的mvn插件时,它只是在这一点停止,而没有让用户进行交互。

注意: 我正在使用“ org.codehaus.plexus.components.interactivity.Prompter;”为了提示用户选项。但是,我尝试仅使用java Scanner / System.out来执行此操作,结果相同:在mvn release插件运行期间,您可能拥有的其他插件将无法编写或读取控制台。

关于这种情况的我的问题是:

1)有一种方法可以使自定义maven插件与maven-release-plugin中的用户进行交互?

我知道还有其他选择...(例如使用相同的“ -D”自定义参数来跳过我的验证)。但是,这对于我真正询问用户该怎么做的情况确实很有用。

2)调用发布插件时,我发现maven同时运行了多个进程(例如,如果在后台运行“ mvn release:prepare”时使用“ ps aux | grep maven”进行检查)为什么?

非常感谢您!

0 个答案:

没有答案