1、什么Maven的生命周期(lifecycle)?
指maven自动实现项目构建、打包,发布的过程
2、如何实现自动构建??
实现构建主要在default周期中实现,如何实现呢?由一系列阶段(phase)构成,有23个,但常用的是以下几个:
阶段 | 处理 | 描述 |
---|---|---|
验证 validate | 验证项目 | 验证项目是否正确且所有必须信息是可用的 |
编译 compile | 执行编译 | 源代码编译在此阶段完成 |
测试 Test | 测试 | 使用适当的单元测试框架(例如JUnit)运行测试。 |
包装 package | 打包 | 创建JAR/WAR包如在 pom.xml 中定义提及的包 |
检查 verify | 检查 | 对集成测试的结果进行检查,以保证质量达标 |
安装 install | 安装 | 安装打包的项目到本地仓库,以供其他项目使用 |
部署 deploy | 部署 | 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
使用mvn
这个命令时,后面的参数是phase,Maven自动根据生命周期运行到指定的phase
如 :运行mvn compile
,Maven会执行default
生命周期,但这次它只会运行到compile。
运行mvn package
,Maven就会执行default
生命周期,它会从开始一直运行到package
这个phase为止。
3、其他常用的maven构建命令?
除了default生命周期外,maven还有另外两个生命周期:
clean:项目清理的处理
site:项目站点文档创建的处理
常用的是clean生命周期,里面只有3个phase:
- pre-clean:执行一些需要在clean之前完成的工作
- clean:移除所有上一次构建生成的文件
- post-clean:执行一些需要在clean之后立刻完成的工作
常用命令:
mvn clean
:清理所有生成的class和jar;
mvn clean compile
:先清理,再执行到compile
;
mvn clean test
:先清理,再执行到test
,因为执行test
前必须执行compile
,所以这里不必指定compile
;
mvn clean package
:先清理,再执行到package
。
4、maven构建的步骤??
1、清理 mvn clean
2、编译 mvn compile
3、测试 mvn test-compile/compiler
4、报告
5、打包 (jar/war包)mvn package
6、安装(安装到maven仓库)mvn install
7、部署 mvn deploy(部署到服务器或者将工程上传到中央仓库)