maven的三大生命周期

一、Maven的生命周期

Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。

Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于设计模式中的模板方法。

二、三套生命周期

Maven有三套相互独立的生命周期,分别是clean、default和site。每个生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。

1、clean生命周期:清理项目,包含三个phase。

1)pre-clean:执行清理前需要完成的工作

2)clean:清理上一次构建生成的文件

3)post-clean:执行清理后需要完成的工作

2、default生命周期:构建项目,重要的phase如下。

1)validate:验证工程是否正确,所有需要的资源是否可用。
2)compile:编译项目的源代码。  
3)test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
4)Package:把已编译的代码打包成可发布的格式,比如jar。
5)integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
6)verify:运行所有检查,验证包是否有效且达到质量标准。
7)install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
8)Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

3、site生命周期:建立和发布项目站点,phase如下

1)pre-site:生成项目站点之前需要完成的工作

2)site:生成项目站点文档

3)post-site:生成项目站点之后需要完成的工作

4)site-deploy:将项目站点发布到服务器

 

三、命令行和生命周期

各个生命周期相互独立,一个生命周期的阶段前后依赖。

举例如下:

1、mvn clean

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

2、mvn test

调用default生命周期的test阶段,实际执行test以及之前所有阶段

3、mvn clean install

调用clean生命周期的clean阶段和default的install阶段,实际执行pre-clean和clean,install以及之前所有阶段

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文言的理解 —— 古时的别称(地名)

圣女果(cherry tomato),也就是小番茄;- 车厘子,也即是樱桃;- 凤梨,也就是菠萝;新疆的称呼在清以后才有,清以前统称为西域;1. 国家篇 东南亚: 暹罗…

php $start_date-sub(,PHP DateTime类常用方法总结

实例化:$date new DateTime();$date new DateTime(2018-01-01);$date new DateTime(tomorrow);$date new DateTime(2 day);$date new DateTime(1408950651);设置日期时间:$date->setTimestamp(1514739661);$date->setDate(2020, 8, 8);$date-…

static{}静态代码块与{}普通代码块和构造代码块之间的区别

public class TestStatic {{System.out.println("构造代码块");}TestStatic() {System.out.println("构造函数代码块");}//类级别的初始化,只是在类加载的时候做一次static {System.out.println("static静态代码块");} } 1.静态代码块…

多线程编程(三)--创建线程之Thread VS Runnable

前面写过一篇基础的创建多线程的博文: 那么本篇博文主要来对照一下这两种创建线程的差别。 继承Thread类: 还拿上篇博客的样例来说: 四个线程各自卖各自的票,说明四个线程之间没有共享,是独立的线程。每一个线程平等。…

wamp php imagick,如何在wamp for Windows中安装和启用Imagick扩展 php psd 生成缩略图

之所以写这篇文章就是希望后面的人少踩坑, 当时有个需求是psd生成缩略图网上相关的文章寥寥无几,然后很多文章都是缺胳膊缺腿,然后找了半天在国外找到一篇文章,不过这篇文章是xamp集成环境的 我是wamp集成环境 , 但是套…

用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变

使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变 答: 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 代码 public class TestFinal {private static final StringBuffer a new S…

Heap 3214 LIS题解

依据问题转换成最长不降子序列问题。 10^9的输入数据计算起来还是挺花时间的。由于这里仅仅能使用O(nlgn)时间复杂度了。只是证明是能够算出10^9个数据的。由于时间限制是5s. #include <stdio.h> #include <vector> #include <string.h> #include <algori…

给自己的Blog 上添加定制的搜索引擎

CNBlog.org 已经在心得集的右上角增加了一个搜索功能。输入一个关键字&#xff0c;然后进入后发现就是Google的搜索功能&#xff0c;不同的是在界面上有了一个定制的CNBlog.org 标志&#xff0c;而且能够选择站内搜索还是在网络上搜索。因为CNBlog.org 的新站点时间还不长&…

php获取网络文件的几种方式,PHP如何实现获取网络上的文件?

PHP可以获取网络上的文件吗&#xff1f;PHP如何实现获取网络上的文件&#xff1f;请看实例代码&#xff1a;//设置我们将要使用的文件$srcurl "http://localhost/index.php";$tempfilename "tempindex.html";$targetfilename "index.html";?…

Intellij IDEA中maven更新不下来pom中的jar包,reimport失效

问题&#xff1a; Intellij IDEA中使用maven reimport包&#xff0c;一直失败 即使我将本地已存在的一个jar包目录删除了&#xff0c;pom文件那里也没飘红提示找不到 解决方法&#xff1a; maven设置中去掉离线下载。 Work offline&#xff1a;勾选上时不会走maven远程仓…

Java+XML+MVC框架StrutsCX简介[转]

StrutsCX是一个以Struts为基础的XML解决方案的框架&#xff0c;和Struts不同&#xff0c;它使用XML&#xff08;确切的说是XSLT&#xff09;作为表现层&#xff0c;而不是像Struts那样是以JSP作为表现层。 目前它的最新版本是0.9.5&#xff0c;这个也就意味着它还没有完全稳定和…

oracle高资源消耗sql,Oracle中定位重要(消耗资源多)的SQL

在分析SQL性能的时候&#xff0c;经常需要确定资源消耗多的SQL&#xff0c;总结如下&#xff1a; 1 查看值得怀疑的SQLselect substr(to_char(s.pct,在分析SQL性能的时候&#xff0c;经常需要确定资源消耗多的SQL&#xff0c;&#xff0c;总结如下&#xff1a;1 查看值得怀疑的…

《Too Much Heaven》

我第一次听<Too Much Heaven>是在阿哲的《夜色》(The Color of the Night)专辑&#xff0c;这张英文专辑翻唱了很多名歌&#xff0c;包括著名的<Against All Odds>&#xff0c;当然这是我后来才知道的。 <Too Much Heaven>的原唱是Bee Gees&#xff0c;后来…

poj2109 Power of Cryptography(数学题)

题目链接&#xff1a;http://poj.org/problem?id2109 ---------------------------------------------------------------------------------------------------------------------------------------------------------- 欢迎光临天资小屋&#xff1a;http://user.qzone.qq.c…

@PostContruct注解的使用

PostConstruct是Java自己的注解. PostConstruct该注解被用来修饰一个非静态的void()方法. PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次. PostConstruct在构造函数之后执行,init()方法之前执行. 如果我们知道servlet的生命周期&#xff…

接oracle私活价格,也来记录一下第一次接私活的体验

来源所在部门领导答应另一个部门领导解决业务上的一些问题&#xff0c;刚好是我负责。由于各总原因&#xff0c;没过试用期&#xff0c;领导需要我离职了&#xff0c;跟另一个部门领导确认后&#xff0c;就在离职前 2 天加个班&#xff0c;交付了已经完成的部分。大概 2 个月后…

Plain text, flat file, 及flat-file database 如何翻译

经常遇到Plain text, flat file, 及flat-file database 这三个词&#xff0c;但不知翻译成什么样的中文好。请大家多指教。 英文意思我已经找到了&#xff1a; (1) plain text Refers to textual data in ASCII format. Plain text is the most portable format because it is …

《Vim实用技巧》阅读笔记 --- 移动及跳转

1、在对实际行的操作之前加上g&#xff0c;即可对屏幕行进行操作&#xff0c;例如&#xff1a;gj表示向下移动一个屏幕行&#xff0c;g^表示移动到屏幕行的第一个非空白字符等等 2、Vim有两组面向单词正向及反向移动的命令&#xff1a; w 正向移动到下一个单词的开头b 反向移动…

JAVA面试题------------final 关键字是干什么用的?谈谈你的理解。

final 是 Java 中的关键字&#xff0c;它表示的意思是不可变的&#xff0c;在 Java 中&#xff0c;final 主要用来&#xff1a; 修饰类&#xff0c;final 修饰的类不能被继承&#xff0c;不能被继承的意思就是不能使用 extends 来继承被 final 修饰的类&#xff1b; 修饰变量&…

oracle财务软件凭证打印,金算盘财务软件后台数据库为Oracle

金算盘财务软件后台数据库为Oracle&#xff0c;OA系统中虽然提供了金算盘财务软件的接口&#xff0c;但由于版本较低&#xff0c;无法直接采集金算盘财务软件的备份数据。我们发现&#xff0c;在已试验的金算盘财务软件的凭证表中&#xff0c;科目字段中既有科目编码也有科目名…