今晚的九寨沟地震,还是继续更新自己的博客,在成都这个地方,是不会发生地震的,可是还是希望那边的所有人都安全,平安,祈祷。一边写,一边听着新闻的报道。
安排如下,第一,讲解Maven的三个生命周期,第二,讲解Maven的聚合。
一、Maven三个生命周期
为啥会有这个三个生命周期,其实,就是对项目整个的开发过程中的各个环节和过程的一种抽象和统一,项目开发整个过程包括项目清理、初始化,编译,测试,打败,集成测试,部署和站点的生成。Maven的三套生命周期是相互独立的,分别是clean,default,site
1)、clean 生命周期 --- mvn clean
clear生命周期的目的就是为了清除项目。clear 清理上一个构建生成的文件。
①pre-clean , ②clean , ③post-clean ,三个阶段,第一个,清理之前的时期,第二个是清理上一次构建的文件,第三个执行清理后需要完成的工作。
2)、default生命周期 mvn install / complie / test /
这个生命周期定义了真正构建时所需要的所有的步骤,是Maven三个生命周期中最重要的一个部分,捡重点的阶段:
①、process-sources 处理项目主要的资源文件,对src/main/resources
②、complie 编译项目的主源码,一般来说是scr/main/java
③、process-test-source.处理项目测试资源文件,一般是src/test/resources
④、test-compile编译项目的测试代码,一般是src/test/java目录下的文件输出到测试的classpath目录中
⑤、test 使用单元测试框架运行测试,测试代码不会打包部署
⑥、package 接受编译好的代码,打包成可分布的格式,如jar,或者是war
⑦、install 将包安装到Maven本地仓库,工本地其他Maven项目使用
⑧、deploy 将最终的包复制到远程的仓库,供其他开发人员和Maven项目使用。
3)、site 生命周期 mvn clean deploy site-deploy
这个周期的目的是建立和发布项目站点,Maven能够基于POM所包含的信息,建立一个友好的站点。
①、pre-site 执行一些在生成站点之前需要的工作
②、site生成项目站点文档
③、post-site 执行一些在生成项目站点之前需要完成的工作
④、site-deploy 将生成的项目站点发布到服务器
二、Maven的聚合
1)、为什么要是用聚合?
我们在开发过程中,创建了2个以上的模块,每个模块都是一个独立的maven project,在开始的时候我们可以独立的编译和测试运行每个模块,但是随着项目的不断变大和复杂化,我们期望能够使用简单的操作来完成编译等工作,这时Maven给出了聚合的配置方式。
所谓聚合,顾名思义,就是把多个模块或项目聚合到一起,我们可以建立一个专门负责聚合工作的Maven project。
2)继承
Maven项目每次都需要重复配置依赖,然后各种的配置,就很蛋疼,使用聚合后,就可以避免重复限制。来看看可以继承的元素有哪些?
groupId:项目组ID,项目坐标的核心元素
version: 项目版本, 项目坐标的核心元素
description: 项目的描述信息
organization: 项目的组织信息
inceptionYear: 项目的创始年份
url: 项目的URL地址
developers: 项目开发者信息
contributors: 项目的贡献者信息
distributionManagement: 项目的部署配置
issueManagement: 项目的缺陷跟踪系统信息
ciManagement: 项目的持续集成系统信息
scm: 项目的版本控制系统信息
mailingLists: 项目的邮件列表信息
properties: 自定义的maven属性
dependencies: 项目的依赖配置
dependencyManagement: 项目的依赖管理配置
repositories: 项目的仓库配置
build: 包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等
reporting: 包括项目的报告输出目录配置、报告插件配置等
3)、反應堆
反应堆就是聚合的的我们的所有的项目,对于单个项目,反应堆就是该模块本省,对于多模块项目来说,反应堆包括了所有的模块之间的继承和依赖的关系,从而可以自动计算出合理
的模块加载顺序。