调用maven插件作为构建生命周期的一部分

时间:2015-03-23 07:23:33

标签: maven maven-plugin

我是maven的新手。我正在尝试将插件集成到我的构建中,以便它作为阶段执行的一部分自动执行。

说我想插入干净的生命周期阶段。

我正在使用的mojo被注释,指明它应该被注入清洁阶段:

/**
* 
 * @goal clean
 * @phase clean
 * @requiresProject
 */

public class CleanMojo extends AbstractSCAMojo {

按照Using Plugin Tools Java5 Annotations中的说明安装了此mojo。 我在我的pom.xml中添加了插件:

<build>
   <plugins>
        <plugin>
        <groupId>myclean.plugin</groupId>
        <artifactId>myclean-maven-plugin</artifactId>
        <version>1.0</version>
        <configuration>
            <logfile>C:/temp/clean.log</logfile>
        </configuration>
    </plugin>
    </plugins>
</build>

据我所知,在Mojo中使用生命周期绑定java代码消除了在build-plugins-plugin中提供执行的需要。这是对的吗?

我希望在调用 myclean.plugin上面配置的 mvn clean 之后:myclean-maven-plugin 将作为清洁目标的一部分执行,但除此之外没有任何反应定期的maven清洁程序。

当pom更改为指定executions myclean.plugin时:myclean-maven-plugin 被调用,所以我确定mojo代码不包含阻塞错误 - 这只是一个配置问题。

我可能需要指定更多内容来自动执行插件(即没有指定executions),但是什么?

1 个答案:

答案 0 :(得分:1)

根据documentation,您应该在类定义之前添加以下注释:

@Mojo(name = "clean", defaultPhase = LifecyclePhase.clean)

@goal@phase适用于javadoc。