【发布时间】:2015-05-26 03:12:54
【问题描述】:
我是 Maven 新手。我正在尝试将一个插件集成到我的构建中,以便它作为阶段执行的一部分自动执行。
假设我想进入干净的生命周期阶段。
我正在使用的 mojo 被注释指定它应该被注入到干净的阶段:
/**
*
* @goal clean
* @phase clean
* @requiresProject
*/
public class CleanMojo extends AbstractSCAMojo {
这个 mojo 是按照 Using Plugin Tools Java5 Annotations 中的说明安装的。 我在 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 中提供执行的需要。对吗?
我期待在调用上面配置的 mvn clean 之后,myclean.plugin:myclean-maven-plugin 将作为 clean 目标的一部分执行,但除此之外什么都没有发生常规的 Maven 清洁程序。
当 pom 更改为指定 executions myclean.plugin:myclean-maven-plugin 被调用,所以我确信 mojo 代码不包含阻塞错误 - 这只是一个问题配置。
我可能需要指定更多内容才能使插件自动执行(即不指定executions),但是什么?
【问题讨论】:
-
您想实现什么?我怀疑您是否需要先编写一个插件,然后再检查是否已经有插件可以解决您的问题。
-
我想获得理解。
-
现在是 2021 年,我希望我的插件在执行
mvn clean时进行清理。但是,与您一样,我发现仅指定CLEAN阶段时它不起作用。你有什么运气吗?
标签: maven maven-plugin