1.为什么出现Maven
- Java项目通过包进行管理 如果项目很大 不便于管理 使用Maven将包拆解成项目
- 多个项目间会存在同样的jar包,就会出现冗余 Maven将jar包统一管理
- jar包需要到一些网站的官网进行下载,Maven做了jar包的统一下载管理
- 解决jar包依赖关系
2.什么是Maven
-
服务于Java平台的自动化构建工具
- 构建工具历程 make -> Ant -> Maven -> Gradle
- 构建:以 java源文件、各种配置文件、各种资源文件、 生产一个运行的项目
- 运行时环境:是一组jar包的引用,并没有吧jar包复制到工程,所以并不是目录
-
构建环节
- 清理 :将以前编译得到的旧class文件删除
- 编译: 编译成class文件
- 测试 自动测试,自动调用JUnit程序 (比如有些必须正确的模块 先将junit写好然后 会自动执行测试 避免有的测试遗漏)
- 报告 测试程序执行的结果
- 打包 动态web工程打成war包 java工程jar包
- 安装 Maven特定概念:将打包得到的文件 复制到仓库中的指定位置
- 部署: 将动态web工程生成的war包复制到servlet容器制定目录下,使其可以运行
3.安装
1. [下载](http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.zip)
2. 安装前
1. 检查JAVA_HOME 如果不能正常显示 请设置JAVA_HOME
3. 安装
* unix like
* 解压 unzip apache-maven-3.6.2-bin.zip
* 添加环境变量 ~/.bash_profile
* 测试安装情况 mvn -v
* TIPS =左右不能加空格 设置 MAVEN_HOME=“xxx”
4.核心概念
1. 约定的目录结构
1. 根目录:工程名
2. src目录:源码
3. pom.xml maven工程的核心配置文件
4. main:存放主程序
5. test:测试程序
6. java:源文件
7. resources:框架或其他工具的配置
3. POM
4. 坐标
5. 依赖
6. 仓库
7. 生命周期/插件/目标
8. 继承
9. 聚合