当前位置: 首页 > 知识库问答 >
问题:

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

巴英韶
2023-03-14

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

假设我想插入清洁生命周期阶段。

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

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

public class CleanMojo extends AbstractSCAMojo {

这个mojo是按照插件工具Java5注解中的说明安装的。我在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代码中使用生命周期绑定可以消除在构建插件中提供执行的需要。对吗?

在调用myclean上面配置的mvn clean之后,我希望是这样。插件:myclean maven插件将作为clean目标的一部分执行,但除了常规的maven clean过程外,什么都不会发生。

当pom更改为指定执行myclean时。插件:myclean maven插件被调用,所以我确信mojo代码不包含阻塞错误——这只是一个配置问题。

我可能还需要指定更多的东西来让插件自动执行(即不指定执行),但是什么呢?

共有1个答案

钱青青
2023-03-14

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

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

@goal@phase适用于Javadoc。

 类似资料:
  • 掌握构建生命周期 作为一个构建脚本的开发者,你不应该局限于编写任务动作或者配置逻辑,有时候你想在指定的生命周期事件发生的时候执行一段代码。生命周期事件可以在指定的生命周期之前、之中或者之后发生,在执行阶段之后发生的生命周期事件就该是构建的完成了。 假设你希望在构建失败时能够在开发阶段尽早得到反馈,给构建生命周期事件添加回调有两种方法:一是通过闭包,二是实现 Gradle API 的一个监听接口,G

  • 我想在我的一个项目中使用Hibernate3 maven插件。但是,因为m2e没有生命周期配置器,我需要配置生命周期插件来忽略插件的执行。但是,我也使用了m2e AFAIK不支持的maven依赖插件。 所以,我的生命周期插件的配置是: 问题是,当我在我的项目中使用Hibernate3插件时,我会在行中出现错误插件执行未被生命周期配置覆盖:org.codehaus.mojo: hibernate3-

  • 主要内容:生命周期与插件的关系,三套生命周期,clean 生命周期,示例 1,default 生命周期,示例 2,site 生命周期在 Maven 出现之前,项目构建的生命周期就已经存在,开发人员每天都在对项目进行清理,编译,测试及部署,但由于没有统一的规范,不同公司甚至不同项目之间的构建的方式都不尽相同。 Maven 从大量项目和构建工具中学习和反思,最后总结了一套高度完美的,易扩展的生命周期。这个生命周期将项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建过程

  • 问题内容: 在哪里进行调用将使我的状态失水的API调用的最佳位置是哪里?构造函数或生命周期方法之一,例如ComponentWillMount? 问题答案: 最好从生命周期方法进行api调用,反应文档也建议相同。 根据DOC: componentDidMount: 挂载组件后立即调用componentDidMount()。需要DOM节点的初始化应该在这里进行。 如果需要从远程端点加载数据,这是实例化

  • 我下载了Eclipse IDE for Java EE Developers 4.3.2,然后安装了以下插件: Spring工具套件-http://dist.springsource.com/release/TOOLS/update/e4.3/ GWT-http://dl.google.com/eclipse/plugin/4.3 之后,我下载了春罗1.2.5。接下来,我在向导的帮助下创建了一个新