注意:此线程是关于编写自定义Mojo,而不是使用插件。
我为Maven保留testing plugin。不幸的是,差不多一年了,我已经让这个特殊的未知世界徘徊,我真的想知道如何处理它,以便其用户可以更简单的配置。
假设我们的插件中有两个目标:
prepare
(阶段:生成源)do
(阶段:编译)我想配置do
Mojo,要求prepare
在构建的早期阶段执行。但是,descriptor documentation中没有任何内容表明我可以。
用户可能不关心或理解prepare
目标的要点,所以我不想强迫他们在POM中指定它。当然,我可以直接从do
执行Mojo,但是prepare
目标将在比预期更晚的阶段运行。
(我查看了custom lifecycles,但这似乎表明,在POM中已经有prepare
目标的每个人都会在运行do
后执行两次。)
答案 0 :(得分:3)
您可以使用以下内容(取自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
*/
通过在类上设置它,它将在编译阶段(在此示例中)执行。编译阶段要求所有先前阶段先执行(validate, generate-sources, process-sources, generate-resources, process-resources
...)。
基本上,选择一个你需要的阶段(甚至是同一个阶段),它应该有用。