我是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
),但是什么?
答案 0 :(得分:1)
根据documentation,您应该在类定义之前添加以下注释:
@Mojo(name = "clean", defaultPhase = LifecyclePhase.clean)
@goal
和@phase
适用于javadoc。