除了坐标、依赖以及仓库外,Maven另外两个核心概念是生命周期和插件。
一、生命周期
Maven的生命周期是抽象的,其本身不做任务实际的工作,实际的任务(如编译源代码)都交由插件来完成。
三套生命周期:
Maven拥有三套相互独立的生命周期,分别是clean、default和site。
clean生命周期的目的是清理项目;

default生命周期的目的是构件项目;
site生命周期的目的是建立项目站点。
 
每个生命周期包含一些阶段(phase),这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段。
即:
各个生命周期是独立的;
一个生命周期的阶段是有前后依赖关系的。
用户和Maven最直接的交互方式就是调用这些生命周期阶段。
 
1、clean生命周期
2、default生命周期
 
3、site生命周期
 
二、命令行与生命周期
mvn clean:调用clean生命周期的clean阶段,实际执行的阶段为clean生命周期的pre-clean和clean阶段。
mvn test:调用default生命周期的test阶段,实际执行的阶段为,,,
mvn clean install:调用clean生命周期的clean阶段和default生命周期的install阶段。该命令结合了两个证明周期,在执行项目构建之前清理项目时一个很好的实践。
 
三、插件绑定
Maven的生命周期与插件相互绑定用以完成实际的构件任务。
具体而言,是生命周期的阶段 与插件的目标 相互绑定,以完成某个具体的构建任务。
 
upto page 118
 

《Maven实战》笔记-4-生命周期和插件的更多相关文章

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

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

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

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

  3. maven第7章生命周期和插件

    maven插件用到哪些思想? 7.7 从命令行调用插件 目标前缀和插件前缀是一个意思. 在本地搭建maven环境,熟悉maven的环境.

  4. Maven实战读书笔记(四):Maven生命周期与插件

    Maven的生命周期是对所有构建过程的抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有构建步骤. Maven的生命周期是抽象的,其实际行为是由插件来完成 ...

  5. MAVEN学习笔记之Maven生命周期和插件简介(3)

    MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所 ...

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

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

  7. Maven学习笔记(六):生命周期与插件

    何为生命周期:      Maven的生命周期就是为了对全部的构建过程进行抽象和统一.Maven从大量项目和构建工具中学习和反思,然后总结了一套高度完好的.易扩展的生命周期.这个生命周期包括了项目的清 ...

  8. (十二)Maven生命周期和插件

    除了坐标.依赖以及仓库之外,Maven的另外两个核心概念是生命周期和插件.在有关Maven的日常使用中,命令行的输入往往就对应了生命周期,如mvn package就表示执行默认生命周期阶段packag ...

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

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

随机推荐

  1. POJ - 3150 :Cellular Automaton(特殊的矩阵,降维优化)

    A cellular automaton is a collection of cells on a grid of specified shape that evolves through a nu ...

  2. docker 存储

    [root@docker01 ~]# docker run --name b1 -v /data -it busybox / # ls bin data dev etc home proc root ...

  3. YARN的ACL

    修改完了资源池的权限之后,发现无法查看日志了.报错: User [dr.who] is not authorized to view the logs for... 即使把资源池的权限设置为了*(所有 ...

  4. bzoj 3028 食物——生成函数

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 把式子写出来,化一化,变成 x / ((1-x)^4) ,变成几个 sigma 相乘的 ...

  5. flask之instance_path实例路径

    Flask 0.8 introduces instance folders. Flask for a long time made it possible to refer to paths rela ...

  6. (转)c# Linq及Lamda表达式应用经验之 GroupBy 分组

    本文转载自:http://www.cnblogs.com/han1982/p/4138163.html 示例1: GroupBy 分组在List<>泛型中的应用 原表: 按姓名Nam 分组 ...

  7. 9个步骤:教你设计出优秀的MMORPG副本关卡

    转自:http://www.gameres.com/664485.html 副本的定义 以一张场景地图为原型,针对单个玩家.队伍或者团队生成的一个实例,包含完整的开启关闭.怪物刷新.进度记录等逻辑. ...

  8. linux设置支持中文

    LANG="zh_CN.UTF-8" #LANG="zh_CN.GB18030" #LANG=en_US.UTF-8 LANGUAGE="zh_CN. ...

  9. 2011-03-17免Oracle客户端连远程Oracle的方法

    1.http://www.oracle.com/technetwork/topics/winsoft-085727.html上下载对应版本的instanctclinet zip包 34M 解压后92M ...

  10. java连接字符串操作,可用来向sql传值

    private static String concat(String tag,String Time) { // TODO Auto-generated method stub // return ...