Maven Plugin的@Mojo和@Execute的具体使用
作者:sabersword 发布时间:2021-12-19 05:23:17
标签:Maven,Plugin,@Mojo,@Execute
本文以spring-boot-maven-plugin 2.5.4为例
@Mojo defaultPhase
以spring-boot-maven-plugin:start为例, 他的@Mojo defaultPhase是PRE_INTEGRATION_TEST,该目标默认绑定到此阶段.
@Mojo(name = "start", requiresProject = true, defaultPhase = LifecyclePhase.PRE_INTEGRATION_TEST,
requiresDependencyResolution = ResolutionScope.TEST)
public class StartMojo extends AbstractRunMojo {
}
在pom中,我们只需要指定goal,就会在PRE_INTEGRATION_TEST阶段执行
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>start</id>
<goals>
<goal>start</goal>
</goals>
<!--如果额外指定phase=verify,会忽略defaultPhase,而在verify阶段执行-->
<phase>verify</phase>
</execution>
</executions>
@Execute phase
以spring-boot-maven-plugin:run为例,他的@Execute phase=TEST_COMPILE,在运行该目标前,让maven先运行一个并行的生命周期,到指定的阶段TEST_COMPLIE为止。到phase执行完,才执行插件目标
所以执行run,总是会运行到TEST_COMPLIE阶段
@Mojo(name = "run", requiresProject = true, defaultPhase = LifecyclePhase.VALIDATE,
requiresDependencyResolution = ResolutionScope.TEST)
@Execute(phase = LifecyclePhase.TEST_COMPILE)
public class RunMojo extends AbstractRunMojo {
参考资料
maven官方
博客
来源:https://juejin.cn/post/7006505209052528648


猜你喜欢
- 本文实例为大家分享了C语言实现三子棋小游戏的具体代码,供大家参考,具体内容如下设计思路三子棋的C语言设计的思路:1.设计一个界面:让玩家运行
- 在ios7中,苹果的原生态应用几乎都能够通过向右滑动来返回到前一个页面,这样可以避免用户在单手操作时用大拇指去点击那个遥远的返回键(ipho
- 首先感谢:http://www.codeproject.com/Articles/25487/Cryptographic-Interoper
- 感谢《Android源码设计模式解析与实战》 何红辉 关爱民 著适配器模式在我们的开发中使用率极高,从代码中随处可见的Adapter就可以判
- 深入理解IOC思想spring本质就在于将对象全部交由给spring容器创建和管理,由容器控制对象的整个生命周期、核心就是IOC控制反转和A
- 简介由于最近的项目需求,需要在把配置类导入到容器中,通过查询,使用@Import注解就能实现这个功能,@Import注解能够帮我们吧普通配置
- 一.冒泡排序1.概念冒泡排序这种排序方法其实关键词就在于冒泡两个字,顾名思义就是数字不断比较然后最大的突出来,也就是说把相邻的两个数字两两比
- 自己折腾了好久,记录一下。service端: 1:创建类Dog,需要实现Parcelable接口;2:aidl下创建 Dog.aidl,里面
- 在Java的6.0版本中新增了concurrent包,这个包是用作线程同步的包,提供了很多工具类。其中定时器就是其中之一。近期在做一个项目,
- 这篇文章主要介绍了Java二分查找算法实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 1.功能介绍Spring框架提供了线程池和定时任务执行的抽象接口:TaskExecutor和TaskScheduler来支持异步执行任务和定
- 本文实例为大家分享了Java实现石头剪刀布的具体代码,供大家参考,具体内容如下代码:package com.neusoft.test;imp
- 使用Postman传递arraylist数据给springboot起因:需要做一个批量删除的功能,后台接收一个ArrayList ids 。
- 1.分支结构的概念当需要进行条件判断并做出选择时,使用分支结构2.if分支结构格式:if(条件表达式){语句块;}package com.l
- 查看和修改线程优先级1.题目JAVA中每个线程都有优化级属性,默认情况下,新建的线程和创建该线程的线程优先级是一样的。当线程调度器选择要运行
- 网上文章虽多,但是这种效果少之又少,我真诚的献上以供大家参考实现原理:自定义ImageView对此控件进行相应的layout(动态布局).这
- springboot扩展MVC自定义 config -> SpringMvcConfig.java下边就是扩展springMVC的模板
- 简介springmvc对json的前后台传输做了很好封装,避免了重复编码的过程,下面来看看常用的@ResponseBody和@Request
- 本文研究的主要是Collections.shuffle()方法的相关内容,下面看看具体内容。Java.util.Collections类下有
- 如图,左图是效果,右图是原理,右图X轴代表图像一个像素点的灰度,Y轴代表RGB三个颜色对应的伪彩色图颜色。代码如下:for (int y =