Maven补全之生命周期(Lifecycle)

Maven补全之生命周期(Lifecycle)

Maven生命周期基础概念

Maven是基于生命周期构建的,一个Maven项目的构建是已经被清晰定义的过程。

对于我们使用Maven构建项目来说,POM.xml文件可以确保我们得到自己想要的项目(项目名,包依赖,版本号等等)

Maven有三种内置的构建生命周期:defaultcleansite

default(默认)生命周期会处理项目的部署,

clean(清理)生命周期负责项目的清理,

site生命周期生成项目的文档(java documentation

每个生命周期都由不同的阶段构成,每一个构建阶段代表生命周期里的一个阶段

以default生命周期为例,它主要包括如下构建阶段(完整的构建阶段见 Lifecycle构建阶段)

  • validate :验证要构建的项目是正确的,并且所有需要的资源是存在的(例如pom.xml文件以及各种import的依赖包已经被正确加载等等)
  • compile:编译项目中的java文件成为虚拟机能识别的.class字节码文件(相当于 mvn compile 命令)
  • test:使用合适的单元测试框架来测试编译的源代码是否可以正确运行
  • package:将编译后的源代码打包(JAR 或者 WAR)
  • verify:验证测试结果确保达到目标
  • install:将Maven项目(打包完成)放入本地Maven仓库(相当于mvn install命令)
  • deploy:完成全部的项目构建,将最终生成的包文件发布到Maven远程仓库

可以看出,default生命周期会在保证项目正确的情况下完成一个项目的所有构建工作(编译,打包,安装到本地仓,发布到远程仓,是一个公司开发过程中所有需要的所有过程。

对于clean生命周期,比较常见的是执行mvn clean命令,会删除maven构建的所有文件(target目录下),包括所有的编译生成的字节码文件和打包生成的包文件。

对于site生命周期,Maven会自动提取所有的注释,自动生成结构化的javaDoc文档,同时也会生关于Maven构建的项目信息,下图是Maven site生命周期生成的一个结构化的目录

 

在这里特别需要说明的一点是,我们在命令行运行的常用Maven命令,比如:

    mvn install

maven会自动完成default生命周期里install构建过程以上的全部构建过程(比如validate, compile, package等等)


本文基于:
Maven官方文档-Lifecycle

 

转载于:https://www.cnblogs.com/jap6/p/10641300.html

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

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

相关文章

嵌入式-第一季-第2课

第二课 嵌入式系统概述 一.核心概念 嵌入式系统是(1)以应用为中心,以计算机技术为基础,(2)软硬件可剪裁,对(3)功能、可靠性、成本、体积、功耗严格要求的专用…

善用封盖

不久前,在博客文章中 ,我解释了Groovy中的Closure。 这篇博客文章将解释一个使用它们的好例子。 最近,我发现自己不得不为服务AJAX请求的大量后端Controller API编写相同的异常处理逻辑。 就像这样: class ApiRugbyPlayerControl…

12款精美的免费 HTML 网站模板下载

这篇文章收集了12款精美的免费HTML网站模板分享给大家,您可以免费下载使用。相信这些漂亮的HTML网站模板既能够帮助您节省大量的时间和精力,又能有很满意的效果。感谢那些优秀的设计师分享他们的劳动成果,让更多的人可以使用他们的创意设计&a…

两个数相乘积一定比每个因数都大_小升初数学知识点大全含公式+20类必考应用题(含答案解析),孩子考试一定用得上!...

小升初数学知识点大全含公式一、几何图形周长、面积和体积公式*三角形的面积=底高2。S ah2正方形的面积=边长边长 S a长方形的面积=长宽 公式 S ab平行四边形的面积=底高 S ah梯形的面积=(上底下底)高2 S(ab)h2内角和&…

WPF自定义TabControl样式

WPF自定义TabControl样式 原文:WPF自定义TabControl样式WPF自定义TabControl&#xff0c;TabControl美化 XAML代码&#xff1a; <TabControl x:Class"SunCreate.Common.Controls.TabControlEx"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentat…

11计算机,11-计算机科学与技术

《11-计算机科学与技术》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《11-计算机科学与技术(23页珍藏版)》请在人人文库网上搜索。1、计算机软件技术基础,机械工业出版社2007年7月,第一部分 数据结构与算法基础,第1章 算法 第2章 数据结构的基础 第3章 线性表及其存…

Spring新变化

让我们检查一下Spring社区在前几天宣布的一些新版本&#xff1a; Spring Boot 1.0.0.RC1 Spring很高兴地宣布Spring Boot v1.0.0的第一个候选版本。 它包含了先前里程碑中的许多错误修复和增强功能。 二进制文件已发布到Spring Maven存储库 。 使用下载说明和Maven / Gradle坐…

H.264分层结构与码流结构

H.264分层结构 H.264编码器输出的Bit流中&#xff0c;每个Bit都隶属于某个句法元素。句法元素被组织成有层次的结构&#xff0c;分别描述各个层次的信息。 在H.264 中&#xff0c;句法元素共被组织成 序列、图像、片、宏块、子宏块五个层次。在这样的结构中&#xff0c;每一层…

20个很酷的CSS3导航菜单制作教程

CSS3 是对 CSS 规范的一个很大的改善和增强&#xff0c;它使得 Web 开发人员可以很容易的在网站中加入时尚的效果。以前很多需要编写 JavaScript 才能实现的效果&#xff0c;如今只需要简单的写几句 CSS3 代码就能实现。今天这篇文章就向大家推荐20个很酷的CSS3导航菜单制作教程…

金算盘高手论坛资料中心_3D006期 菜鸟论坛精英PK专栏 速来围观!!

点上方“菜鸟选号论坛”→点右上角“...”→选“星标★”每日上午更新&#xff0c;星标置顶与大神不走散苹果是置顶&#xff0c;安卓是星标 点击"菜鸟选号论坛"关注我们论坛明星版块&#xff0c;集全网各路高手之大乘&#xff0c;打造草根明星 展示舞台。同时主要是为…

模拟最后一堂课

前言 如果您已经阅读了其他有关异常模拟的博客文章&#xff0c;则可以通过此链接跳过前奏 。 我被要求汇总一些示例&#xff0c;这些示例如何模拟因其可测试性问题而众所周知的Java结构&#xff1a; 模拟私人方法 模拟最终方法 模拟最后一堂课 模拟构造器 模拟静态方法 …

ajax 浏览器后退,全站Ajax浏览器后退方法

全站Ajax后退有两种方法&#xff0c;浏览器后退按钮加入历史链接。其中一种是常规的Ajax后退&#xff0c;这种后退是带有ajax效果的&#xff0c;要重新请求历史链接页面。另一种是将历史数据保存&#xff0c;后退时取出缓存的数据即可。后者比前者效率要高&#xff0c;所以速度…

java基础day11---空指针异常----引用类型--自定义类型赋值--封装

day111.空指针异常-----属于运行错误-java.long.NullPointerException--原因&#xff1a;当引用名称的值为null时&#xff0c;就不能访问某个对象中的属性或方法热锅非要访问这就出现空指针异常--解决办法&#xff1a;在访问某个对象中的属性或方法之前必须保证该引用名称中存放…

CentOS 7下安装Python3.6

•安装python3.6可能使用的依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel •到python官网找到下载路径, 用wget下载 wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz •解压tgz包 tar -zxvf Python-3.6.4.t…

非常酷!10个基于 HTML5 的字体应用演示网站

HTML5 是现在Web开发领域的热点&#xff0c;更多的开发人员开始使用HTML5来开发交互性强、效果出众的网站和各种应用。这是 HTML5 网站大观系列第四篇&#xff0c;本文与大家分享5个非常酷的基于 HTML5 的字体应用演示网站&#xff0c;一起欣赏。 Web Typography For The Lone…

ntp如何确认与服务器偏差_LED电子时钟显示屏如何实现时间同步统一校时?

LED电子时钟显示屏采用一体式铝合金边框设计&#xff0c;更坚固美观节能环保&#xff0c;更以其简单的操作和稳定的性能&#xff0c;广泛应用于学校、考场、医院、金融、移动通信、石油、电力、交通、工业以及国防等同步时钟系统的显示终端&#xff0c;LED电子时钟显示屏已成为…

jquery ajax下拉联动,基于jQuery Ajax实现下拉框无刷新联动

本文实例为大家分享了jQuery Ajax实现下拉框无刷新联动的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下HTML代码&#xff1a;{Layout null;}using DAL;using System.Data;{AreaDal areaDal new AreaDal();string areaId ViewBag.areaId;DataRow drArea areaDal.…

Java 8新闻

Java 8&#xff0c; b128和Java 8 RC2的第一个候选版本于2月出现&#xff0c;修复了新Comparator API中的一个严重缺陷&#xff0c;该缺陷中其新的thenComparing()方法具有不必要的类型限制。 java.util.Comparator的thenComparing()方法不需要类型U扩展java.lang.Comparable &…

HDP 2.6 requires libtirpc-devel

HDP 2.6 requires libtirpc-devel 个问题&#xff0c;截止 Mustafa Kemal MAYUK 2017年06月30日 06:30 hadoopPowerSystemsHello, I am trying to install HDP 2.6 on RHEL 7.2 ppc64le. Installation over ambari fails due to "Error: Package: hadoop_2_6_0_3_8-hdfs-2…

推荐10款非常有用的 Ajax 插件

这篇文章与大家分享的是10款非常有用的 Ajax 插件&#xff0c;有用于图片的&#xff0c;用于分页的&#xff0c;还有用于导航的。这些作者的想法特别新颖&#xff0c;希望你能从中找到自己需要的插件。 1. AJAX-ZOOM 非常强大的一款插件&#xff0c;可用鼠标滚轮进行缩放&…