我正在编写一个Maven插件,我想提示用户输入并决定是否中止插件的执行。
我想实现类似于以下代码:
$> mvn myplugin:run
[MAVEN] would you like to continue? [default value: y] _
我曾尝试使用maven-antrun-plugin,如此处所述,但在这种情况下,当我构建插件时,Maven会获取用户输入。相反,我想在用户从声明了我的插件的某个其他应用程序中运行我的插件时检索输入(有点困惑?)。
我正在编写一个Maven插件,我想提示用户输入并决定是否中止插件的执行。
我想实现类似于以下代码:
$> mvn myplugin:run
[MAVEN] would you like to continue? [default value: y] _
我曾尝试使用maven-antrun-plugin,如此处所述,但在这种情况下,当我构建插件时,Maven会获取用户输入。相反,我想在用户从声明了我的插件的某个其他应用程序中运行我的插件时检索输入(有点困惑?)。
使用Prompter组件,并将其注入到您的插件中(假设您正在使用Maven插件注释,如果没有,请使用等效的javadoc标签):
@Component
private Prompter prompter;
然后使用它:
String name = prompter.prompt("Please enter your name");
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-interactivity-api</artifactId>
<version>1.0-alpha-6</version>
</dependency>
提示器组件由发布插件用于提示用户输入标签和版本,原型插件也使用该组件。