Maven补全之生命周期(Lifecycle)
Maven补全之生命周期(Lifecycle)
Maven生命周期基础概念
Maven是基于生命周期构建的,一个Maven项目的构建是已经被清晰定义的过程。
对于我们使用Maven构建项目来说,POM.xml文件可以确保我们得到自己想要的项目(项目名,包依赖,版本号等等)
Maven有三种内置的构建生命周期:default,clean和site
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
Maven补全之生命周期(Lifecycle)相关推荐
- Maven(2)--生命周期以及插件目标
maven的生命周期 maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成.这种思想和设计模式中的模板方式. maven内置的生命周期: maven ...
- maven详解之生命周期与插件
Maven是一个优秀的项目管理工具,它能够帮你管理编译.报告.文档等. Maven的生命周期: maven的生命周期是抽象的,它本身并不做任何的工作.实际的工作都交由"插件"来完成 ...
- 第9章 maven的插件和生命周期
第9章 maven的插件和生命周期 本章介绍了maven生命周期.插件以及如何配置插件 9.1 生命周期 一般的项目都会经历这几个步骤:编译,测试,打包,部署,有些公司是手动方式,有些是自动化脚本方式 ...
- maven生命周期lifecycle和plugins介绍
一.Maven的生命周期 生命周期的定义:Maven的生命周期就是为了对所有的构建过程进行抽象和统一.在大量项目的构建过程中,Maven总结出了一套高度完善的,易于扩展的生命周期,包括项目的清理,初始 ...
- vue created 调用方法_vue 基础-生命周期 lifecycle 的执行顺序和作用
前言 <vue 基础>系列是再次回炉 vue 记的笔记,除了官网那部分知识点外,还会加入自己的一些理解.(里面会有部分和官网相同的文案,有经验的同学择感兴趣的阅读) 平时开发中,我真的不太 ...
- Maven入门-6-Maven的生命周期和核心命令详细介绍
本篇来介绍Maven的生命周期和前面介绍过几个命令的详细介绍过程.先介绍生命周期,生命周期中不同阶段就包括了一些命令,所以理解了生命周期,再来看看每一个命令的详细使用过程. 1.Maven的生命周期分 ...
- maven自带clean_Maven生命周期(示例代码)
简单了解 Maven的生命周期就是对所有的构建过程进行抽象和统一.包含了项目的清理.初始化.编译.测试.打包.集成测试.验证.部署和站点生成等几乎所有的构建步骤. Maven的生命周期是抽象的,即生命 ...
- maven scope 属性和生命周期
2019独角兽企业重金招聘Python工程师标准>>> maven的dependency参数 scope的分类 1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还 ...
- Amazon S3 设置对象的生命周期Lifecycle
2019独角兽企业重金招聘Python工程师标准>>> 保存在S3上面的文件,有些是长期保存的,而有一些我们却不希望保存太久,过一段时间后就可以删除了.例如备份文件,太旧的就要删除: ...
最新文章
- 使用Python,OpenCV进行卡类型及16位卡号数字的OCR
- windows下vs2013使用C++访问redis
- ihtml2document能不能根据id获取dom_回到基础:什么是DOM及DOM操作?
- bootstrap大图轮播手机端不能手指滑动解决办法
- 如何创建一个Eureka Client?
- java 最优化_java-多维度求最优解
- Leetcode--347. 前k个高频元素
- 8001.win10安装ros2-dashing环境搭建
- tar解压时遇到tar: Skipping to next header
- 独家揭秘阿里云SQL Server AlwaysOn集群版重大突破
- Creo6.0产品设计基础到高级曲面造型视频教程
- IntelliJ IDEA使用教程
- 一些关于CCNA考试的感受
- 怎么设置html页面背景图片大小怎么设置,css怎么设置背景图片大小?
- 人事管理系统之部门结构树的展示
- 什么是雪花算法?啥原理?
- 1190 -- 找x
- 群晖NAS Git Server项目源代码管理 配置搭建
- 甘超波:NLP检定语言模式
- eclipes 快捷键操作: