首先解释下maven build等

Maven build是这个插件让你自己去配置执行目标的。Maven clean 清除上一次Maven执行的结果Maven generate-sources会根据pom配置去生成源代码格式的包Maven install将项目输出构件部署到本地仓库

插件目标:

拿Maven clean来说,生命周期为clean.插件目标为maven-clean-plugin:clean。

maven有三套生命周期

1.clean       清理项目

2.default     构建项目

3.site           建立项目站点

这三套生命周期是相互独立的,可以仅仅调用clean声明周期的某个阶段, 或者调用default生命周期的某个阶段,而不会对其他生命周期产生任何影响。

clean生命周期共包含了三个阶段:
            pre-clean  执行一些需要在clean之前完成的工作
            clean  移除所有上一次构建生成的文件
            post-clean  执行一些需要在clean之后立刻完成的工作

default生命周期包含的阶段:
             validate
             initialize
             generate-sources
             process-sources
             generate-resources
             process-resources     复制并处理资源文件,至目标目录,准备打包。
             compile     编译项目的源代码。
             process-classes
             generate-test-sources  
             process-test-sources 
             generate-test-resources
             process-test-resources     复制并处理资源文件,至目标测试目录。
             test-compile     编译测试源代码。
             process-test-classes 
             test     使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
             prepare-package 
             package     接受编译好的代码,打包成可发布的格式,如 JAR 。
             pre-integration-test
             integration-test
             post-integration-test 
             verify 
             install     将包安装至本地仓库,以让其它项目依赖。
             deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。

site生命周期的各个阶段:
             pre-site     执行一些需要在生成站点文档之前完成的工作
             site     生成项目的站点文档
             post-site     执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
             site-deploy     将生成的站点文档部署到特定的服务器上

组合阶段执行

mvn clean     调用的clean生命周期的clean阶段,实际执行的是pre-clean和clean阶段。

mvn test         执行的是default生命周期的test阶段, 实际执行的是validate到test阶段。

mvn clean  package      clean生命周期的pre-clean,clean阶段和 default生命周期的从validate到package阶段。

内置绑定

Maven在核心为一些主要的生命周期阶段绑定了很多插件的目标

clean生命周期阶段与插件目标的绑定关系

生命周期阶段 插件目标
pre-clean  
clean maven-clean-plugin:clean
post-clean  

site生命周期阶段与插件目标的绑定关系

生命周期阶段 插件目标
pre-site  
site maven-site-plugin:site
post-site  
site-deploy maven-site-plugin:deploy

default生命周期与内置插件绑定关系及具体任务(打包类型: jar)

生命周期阶段 插件目标 执行任务
process-resources maven-resources-plugin:resources 复制主资源文件至主输出目录
compile maven-compile-plugin:compile 编译主代码至主输出目录
process-test-resources maven-resources-plugin:testRresources 复制测试资源文件至测试输出目录
test-compile maven-compiler-plugin:testCompile 编译测试代码至测试输出目录
test maven-surefire-plugin:test 执行测试用例
package maven-jar-plugin:jar 创建项目jar包
install maven-install-plugin:install 将项目输出构件安装到本地仓库
deploy maven-deploy-plugin:deploy 将项目输出构件部署到远程仓库

Maven的生命周期和插件的更多相关文章

  1. Maven入门指南⑦:Maven的生命周期和插件

    一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Mav ...

  2. Maven使用教程三:maven的生命周期及插件机制详解

    前言 今天这个算是学习Maven的一个收尾文章,里面内容不局限于标题中提到的,后面还加上了公司实际使用的根据profile配置项目环境以及公司现在用的archetype 模板等例子. 后面还会总结一个 ...

  3. Maven入门指南10:Maven的生命周期和插件

    一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周期是抽象的,其中的具体任务都交由插件来完成.Mav ...

  4. Maven实战——生命周期和插件

    Maven的构建过程包含:初始化.编译.測试.打包.集成測试.部署 Maven拥有三套相互独立的生命周期:clean(清理项目).default(构建项目).site(建立项目网站) 每一个生命周期包 ...

  5. maven详解之生命周期与插件

    Maven是一个优秀的项目管理工具,它能够帮你管理编译.报告.文档等. Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成 ...

  6. Maven学习(四)-- 生命周期和插件

    标签(空格分隔): 学习笔记 Maven生命周期是抽象的,不做任何实际的工作,在Maven的设计中,实际的任务都交由插件来完成. 每个构件步骤都可以绑定一个或者多个插件行为,而且Maven为大多数构建 ...

  7. Maven生命周期(插件)

    maven拥有三套相互独立的生命周期,它们分别是clean,default和site.clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site 生命周期的目的是建立项目站 ...

  8. maven的仓库、生命周期与插件

    一.仓库 统一存储所有Maven项目共享的构建的位置就是仓库. 仓库分为本地仓库和远程仓库.远程仓库又分为中央仓库(中央仓库是Maven核心自带的远程仓库),伺服(另一种特殊的远程仓库,为节省宽带和时 ...

  9. Maven 学习总结 (二) 之 生命周期与插件

    五.生命周期与插件 1.Maven有三套独立的生命周期:clean.default和site. clean生命周期的目的是清理项目,default生命周期的目的是构建项目,site生命周期的目的是建立 ...

随机推荐

  1. Windows Azure 负载均衡会话保持

    Windows Azure的负载均衡器默认是5元组的hash:源地址,源端口,目的地址,目的端口,协议.即:只有上述五个元组完全一致的会话数据包才会被转发到同一个后端服务器.显然,对于绝大多数通过NA ...

  2. input文本框和img验证码对齐问题

    左边放input,右边img验证码,然后一直不能对齐,如图: img老是比input高出一个头,然后调的头都大了还是不行,照例百度之, 给input和img都加一个 vertical-align:mi ...

  3. python数字图像处理(9):直方图与均衡化

    在图像处理中,直方图是非常重要,也是非常有用的一个处理要素. 在skimage库中对直方图的处理,是放在exposure这个模块中. 1.计算直方图 函数:skimage.exposure.histo ...

  4. AC日记——红与黑 codevs 2806

    2806 红与黑  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 白银 Silver 题解  查看运行结果     题目描述 Description 有一个矩形房间,覆盖正方形瓷 ...

  5. PHP中文名文件下载实现

    php下载文件的流程: 其实就是给予一个链接:  <a href="指向处理文件的地址"></a> 这样,当前端点击链接的时候,指向处理文件,比如downl ...

  6. session和cookie的区别和联系

    使用session会在客户端生成一个文件,这个文件是以session_id来命名,用来保存文件:生成的文件保存在这个路径中:session.save_path = "D:/wampstack ...

  7. android gridview画分割线,如图:

    1.先上图: 2.具体实现代码: public class LineGridView extends GridView { public LineGridView(Context context) { ...

  8. HTML5+jquery整屏页面切换效果

    压缩包下载 演示地址 http://www.yyyweb.com/demo/page-transitions/

  9. ASP.NET Repeater 绑定 DropDownList Calendar 选择日期

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  10. usb驱动开发15之设备生命线

    总算是进入了HCD的片儿区,既然来到一个片区,怎么都要去拜会一下山头几个大哥吧.,先回忆一些我们怎么到这里的?给你列举一个调用函数过程usb_control_msg->usb_internal_ ...