介绍
# 介绍
Maven是专门用于管理和构建JAVA项目的工具,他主要功能:
- 提供标准化的项目结构
- 提供标准化的构建流程(编译、测试、打包、发布...)
- 提供依赖管理机制
我们经常写代码所使用的IDE无非就是Eclipse、MyEclipse和JetBrain IDEA,但这些IDE创建项目都有自己的标准(Eclipse的库是libs,IDEA是libaray),这种问题会导致Eclipse创建的项目无法导入到其他IDE中继续开发。 因此为了避免这种情况,我们需要用到Maven统一规范。
# Maven项目结构
![[Pasted image 20220607163825.png]]
# 仓库
我们在pom.xml
中能看到项目的依赖配置,当我们写上我们需要用的依赖库时,他就能自动帮我们导入,那么问题来了,这些包哪来的呢??
![[Pasted image 20220607171443.png]]
首先,当获得新的依赖请求时,会先在本地的仓库中寻找,如果没有再去中央仓库/远程仓库中寻找。在中央/远程仓库中找到依赖库后,会下载到本地仓库
# 常用指令
- compile - 编译项目
- clean - 清理生成的target文件夹
- package - 打包项目
- test - 测试,自动执行test文件夹下的测试代码
- install - 安装当前项目到本地仓库
# 生命周期
![[Pasted image 20220607172620.png]]