Maven各个构建环节执行的顺序: 不能打乱顺序, 必须按照既定的正确顺序(编译,测试、打包、部署)来执行Maven的核心程序中定义了抽象的生命周期, 生命周期中各个阶段的具体任务是由插件来完成的,可以把mvn的命令想像成,调用Maven插件功能的命令。

  Maven有三套相互独立的生命周期, 分别是:

  [1]Clean Lifecycle 在进行真正的构建之前进行一些清理工作

  [2]Default Lifecycle 构建的核心部分, 编译, 测试, 打包 ,安装, 部署等等

  [3].Site Lifecycle 生成项目报告, 站点, 发布站点

  它们是相互独立的, 你可以仅仅调用clean来清理工作目录, 仅仅调用site来生成站点, 当然也可以直接运行mvn clean install site 运行所有的这三套生命周期,下图记录了每一个命令执行的过程。

  我们可以得出的结论是:Maven核心程序为了更好的实现自动化构建, 按照这一特点执行生命周期中的各个阶段: 不论现在要执行生命周期中的哪一个阶段, 都是从这个生命周期最初的位置开始执行,所以如果我们想打包一个Maven项目,我们无需使用mvn compile和mvn test命令进行编译和测试,Maven会从生命周期最开始执行,也就是从编译开始。

Maven项目构建利器05——Maven的生命周期的更多相关文章

  1. Maven项目构建利器04——Maven的一些核心概念

    1.坐标 1)数学上的坐标: [1].在平面上. 使用X,Y两个向量可以唯一的定位平面上的任意一个点 [2]在空间中, 使用X,Y,Z三个向量可以唯一的定位空间中的任何一个点 2)Maven中的坐标: ...

  2. Maven项目构建利器03——第一个Maven工程

    1.Maven工程的结构 我们需要通过Maven进行自动化构建, 以编译为例, Maven要想自动进行编译, 那么它必须知道Java源文件保存在哪里,所以要遵守Maven的约定,也就是约定大于配置,配 ...

  3. Maven项目构建利器01——为什么要使用Maven

    1.为什么要使用Maven a)一个项目就是一个工程 如果一个项目非常庞大,不适合用package(包)来划分模块, 最好是每一个模块对应一个工程 分工合作,借助于Maven就可以将一个项目拆分成多个 ...

  4. Maven项目构建利器02——安装Maven核心程序

    1.Maven也是用Java编写的工具,同样运行在JVM上,所以我们在安装Maven之前需要确保已经安装了JDK,首先来检查电脑上是否安装JDK. 2.如上图说明电脑中已经安装了JDK,下面就要去官网 ...

  5. 准备阶段-maven项目构建

    依据我现阶段对maven的了解,具使用POM管理项目和强大的repository资源管理库支持. 在项目建立初期,对网站的可拓展.高并发.易于管理做了评估.最终使用Maven 管理该项目 . 如下是m ...

  6. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  7. Maven学习总结(2)——Maven项目构建过程练习

    Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...

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

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

  9. 深入理解maven及应用(一):生命周期和插件

    在项目里用了快一年的maven了,近期突然发现maven项目在eclipse中build时很慢,由于经经常使用clean install命令来build项目,也没有管那么多,但近期实在受不了乌龟一样的 ...

随机推荐

  1. defineProperty和defineProperties介绍

    v-model 实现的原理 angular 是 mvc 的实现原理,ng-model 是靠脏值检测实现的 脏值检测:for 循环一个个对比 vue 靠的是数据劫持 和 发布者,订阅者模式 数据劫持:O ...

  2. leetcode 121买卖股票的最佳时机I

    从下标1开始,维护两个变量,一个是0~i-1中的最低价格low,一个是当前的最高利润res;先更新最高利润,在更新最低价格:应用了贪心算法的基本思想,总是选择买入价格最低的股票,代码如下: 具有最优子 ...

  3. python - readline 模块

    转载:https://www.cnblogs.com/fireflow/p/4841413.html readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能. ...

  4. 解决ssh链接慢问题

    1,ssh -v root@ip 2,查看哪里卡住了 一般情况就是卡在debug1: SSH2_MSG_SERVICE_ACCEPT received 3,如果是上面卡住了 修改/etc/ssh/ss ...

  5. k8s, etcd 多节点集群部署问题排查记录

    目录 文章目录 目录 部署环境 1. etcd 集群启动失败 解决 2. etcd 健康状态检查失败 解决 3. kube-apiserver 启动失败 解决 4. kubelet 启动失败 解决 5 ...

  6. overflow-x scroll 内部元素滚动,父级容器代码

    display: -webkit-box; overflow-x: scroll; -webkit-overflow-scrolling: touch;

  7. Linux监控命令之==>strace

    一.命令介绍 strace 常用来跟踪进程执行时的系统调用和所接收的信号.在Linux 世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式 ...

  8. python3.5 append使用

    1.从元组中添加 friends=[] tup1=("Jon",35) friends.append(tup1[0]) print(friends[0]) ssh://root@1 ...

  9. Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work

    错误: 解决: cat /etc/sysctl.conf net.ipv4.ip_forward=1net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_recycle ...

  10. CTF—攻防练习之ssh私钥泄露

    攻防练习1 ssh私钥泄露 靶场镜像:链接: https://pan.baidu.com/s/1xfKILyIzELi_ZgUw4aXT7w 提取码: 59g0 首先安装打开靶场机 没办法登录,也没法 ...