Maven是跨平台的项目管理工具,主要服务于Java平台的项目构建、依赖管理。
项目构建
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
【清理】:把以前编译得到的旧class字节码文件删除,为下一次编译做准备
【编译】:将Java源程序编译成class字节码文件
【测试】:自动测试
【报告】:测试程序执行的结果,比如下面这个
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.644 s
[INFO] Finished at: 2020-10-23T15:20:04+08:00
[INFO] ------------------------------------------------------------------------
【打包】:动态web工程打war包,Java工程打jar包
【部署】: 将war包复制到servlet容器的指定目录下,使其可以运行
命令
mvn clean 清理编译的项目,会删除target目录下的编译内容
mvn compile 编译项目
mvn test 项目单元测试的编译
mvn site 生成项目的站点文档,生成html页面
mvn package 负责将我们的项目打包,方便发布
mvn install 把项目Install到local repo(本地仓库),这样别的项目就可以用dependency引入
mvn deploy 发本地jar到remote(远程仓库)
生命周期
- 各个构建环执行顺序,不能打乱顺序,必须按照既定的正确顺序执行
- 生命周期的具体任务都是由插件来完成的
- Maven核心程序是为了更好的实现自动化构建,按照这个特点执行生命周期的各个阶段;不论现在要执行生命周期的哪个阶段,都是从这个生命周期最初的位置开始执行。
安装maven
- 检查
java -version
- 解压maven安装包
- 配置maven相关的环境变量
可以在用户变量中配置,因为只有你一个用户。如果在系统变量配置,万一删除了什么,你可能自己都不知道,就需要重装系统了
- 检查
mvn -v
pom.xml
坐标
使用下面三个向量在仓库中唯一定位一个Maven工程
<groupId>com.lfy</groupId> groupId :公司或组织域名倒序.项目名
<artifactId>demo</artifactId> artifactId :模块名
<version>0.0.1-SNAPSHOT</version> version : 版本。SNAPSHOT快照的意思,更新迭代速度快,所以可能不稳定。而ReLEASE表示正式版