Jus*_*rls 6 maven-2 maven-plugin
注意:这个线程是关于编写自定义Mojo,而不是使用插件.
我为Maven 维护了一个测试插件.不幸的是,差不多一年了,我已经让这个特殊的未知世界挥之不去,我真的想知道如何处理它,以便其用户可以更简单的配置.
假设我们的插件中有两个目标:
prepare
(阶段:生成源)do
(阶段:编译)我想配置do
Mojo以要求prepare
在构建的早期阶段执行.但是,描述符文档中没有任何内容表明我可以.
用户可能不关心或理解prepare
目标点,因此我不想强迫他们在POM中指定它.当然,我可以直接执行Mojo do
,但之后prepare
目标将在比预期更晚的阶段运行.
(我查看了自定义生命周期,但这似乎使得每个已经prepare
在POM中具有目标的人都会在运行时执行两次do
.)
您可能会得到如下所示的内容(取自 CompilerMojo):
/**
* @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
* @version $Id: CompilerMojo.java 941498 2010-05-05 21:24:11Z krosenvold $
* @since 2.0
* @goal compile
* @phase compile
* @threadSafe
* @requiresDependencyResolution compile
*/
Run Code Online (Sandbox Code Playgroud)
通过在您的类上设置它,它将在编译阶段执行(在本例中)。编译阶段要求之前的所有阶段都首先执行(validate, generate-sources, process-sources, generate-resources, process-resources
...)。
基本上,在您需要的阶段(甚至相同的阶段)之后选择一个阶段,它应该可以工作。