一个项目的构建过成通常包括清理、编译、测试、打包、集成测试、验证、部署等。Maven从中抽取了一套完善的、易扩展的生命周期。
Maven的生命周期是抽象的,其中的具体任务都交由插件来完成。Maven为大多数构建任务编写并绑定了默认的插件。
1、Maven的内部有三个构建生命周期:分别是 clean、default、site,每个生命周期都包含了一些阶段(phase)。
三个构建生命周期相互独立,但各个生命周期中的phase却是有顺序的,且后面的phase依赖于前面的phase。执行某个phase时,其前面的phase会依顺序执行,但不会触发另外两套生命周期中的任何phase。
validate:验证项目是正确的,所有必要的信息都是可用的
compile:编译项目的源代码
test:使用适当的单元测试框架测试编译后的源代码。这些测试不应要求将代码打包或部署
package:使用已编译的代码,并将其打包成可分布格式,例如JAR。
verify:对集成测试的结果进行任何检查,以确保满足质量标准
install:将包安装到本地存储库中,以便在本地其他项目中使用该包
deploy:在构建环境中完成,将最终的包复制到远程存储库中,以便与其他开发人员和项目共享。
这些生命周期阶段(加上这里没有显示的其他生命周期阶段)是按顺序执行的,以完成默认的生命周期。鉴于上面的生命周期阶段,这意味着当使用默认的生命周期时,Maven将会优先执行检查项目(validate),然后将会尝试编译源代码(compile),运行集成测试方案(test),验证了集成测试(verify),验证包安装到本地存储库(install),然后将安装包部署到远程存储库(deploy)。
参考文章:Maven常用命令详解
三、Maven POMPOM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了整个项目的基本信息,如何构建项目、项目依赖的jar包等。
执行任务或目标时,Maven会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
参考文章: pom.xml标签大全详解--菜鸟教程
四、创建一个Maven项目简单测试命令
1、创建Maven项目(Jar包)
1)创建一个简单 Maven项目目录相对完整(推荐)
若需额外的文件目录自己手动创建就好了,不推荐使用模板创建maven项目。
2)pom.xml,引入junit 做测试
4.0.0
cn.jq.mavenjar
mavenjar
0.0.1-SNAPSHOT
jar
junit
junit
4.12
test
2、Hello类与测试类,简单测试
1)compile:编译源代码(只编译main下的java文件),即target下会生成编译文件
2)test:运行项目中的单元测试
3)package:根据项目生成jar/war文件,即target下会生成jar文件
4)install:将开发的模块放到本地仓库中(位置有gav决定),供其他模块使用
5)clean:清除目标目录中的生成结果。即清除target下会生成的所有文件
站在前辈的肩膀上,每天进步一点点
ends~