- .可以管理jar文件
- 自动下载jar和其他文档、源码
- 管理jar直接的依赖(a.jar用到b.jar,会自动下载b.jar)
- 管理需要的jar版本
- 编译程序生产class文件
- 测试代码是否正确
- 打包文件生成jar文件或war文件
- 部署项目
构建:完成代码的编译、测试、打包、部署
maven支持构建:
清理:把之前项目编译的东西删除,为新的编译代码做准备
编译:批量编译.java文件
测试:批量执行测试代码验证功能是否正确
报告:生产测试结果的文件
打包:把项目中使用class文件、配置文件放到一个压缩文件(项目结果文件),Java程序通常为.jar,web应用通常为.war
安装:把打包的文件安装到本地仓库
部署:把程序安装好可以执行
Maven核心概念
pom:项目对象模型,Maven把项目当作一个模型使用,在pom.xml文件中声明。可以控制Maven构建项目的过程、管理jar依赖
约定的目录结构:项目的文件和目录位置都是固定的
坐标:是唯一的字符串,用来表示资源的
依赖管理:管理项目可以使用的jar文件
仓库管理:资源存放的位置
生命周期:Maven项目构建的过程 //maven的命令就是maven生命周期的过程:清理、编译、测试、报告、打包、安装、部署
插件和目标:执行Maven构建时使用的工具是插件
继承:
聚合:
Maven使用:命令行、Idea中使用
下载安装
bin:执行程序,重点mvn.cmd
conf:配置
lib:Mawen也是用Java写的 //要配置好JDK环境变量
M2_HOME=D:\program\apache-maven-3.8.4
path=%M2_HOME%\bin
执行 mvn -v查看是否成功
约定的目录结构
每一个Maven项目都是一个文件夹(项目),
项目/
---/src 源代码
------/main 主程序目录和配置文件(就是自己写的代码)
---------/java 程序包和包中的Java文件
---------/resources Java程序中要用的配置文件
------/test 测试程序代码和文件,可以没有
---------/java 测试程序包和包中的Java文件 //测试的程序要与被测试的程序包名一致
---------/resources 测试Java程序中要用的配置文件
---/pom.xml Maven的核心文件,必须要
生命周期
单元测试:使用junit,专门测试的框架(工具)。测试类中的方法,每个方法是独立测试的,方法就是测试的基本单元
- 加入junit依赖