Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
Ø提供了一套标准化的项目结构
Ø提供了一套标准化的构建流程(编译,测试,打包,发布……)
Ø提供了一套依赖管理机制(也就是管理jar包)
1.Maven将java项目看成是一个个对象,也就是项目对象模型,我们通过项目中的pom.xml描述项目对象。
2.通过pom.xml告诉maven,项目需要哪些资源(jar包),这个叫做依赖管理,jar包都是从仓库中引进来的。
3.我们可以通过各种各样的插件来构建项目,例如:编译、测试、打包…
一、maven标准化的项目结构
备注:单元测试中的配置信息如果没有,那么就会使用main中的配置信息
二、标准化的构建流程
三、依赖管理机制
四、仓库分类
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的仓库地址:Central Repository:
远程仓库(私服):一般由公司团队搭建的私有仓库当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:如果有,则在项目直接引用;如果没有,则去中央仓库中下载对应的jar包到本地仓库。
还可以搭建远程仓库,将来jar包的查找顺序则变为:
本地仓库 ——> 远程仓库 ——>中央仓库
中央仓库服务器在国外有时是访问不到的,阿里将中央仓库中的jar包全部copy了一份,放在自己的仓库中公开对国内的朋友使用,也就是我们说的阿里镜像,使用这个,访问速度大大大的提高啦;
五、maven解压即安装,下图为目录介绍
六、mac配置maven环境变量|本地仓库配置
MAVEN_HOME=/Users/zhouli/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
七、setting.xml配置本地仓库
八、setting.xml中配置镜像
(1)
(2)
九、Maven 常用命令
compile :编译——>会生成targe目录,当本地仓库内容为空时,则会先下载内容到本地仓库
clean:清理——>会清理掉target目录,也可以自己手动删除target目录达到清理的效果;
test:测试——>编译测试代码,并运行测试代码
package:打包——>先执行单元测试里的内容,如果单元测试里面的内容有问题,打包是不能成功的
install:安装到本地仓库——>把打好的jar包安装到本地仓库;可以在本地仓库找org文件夹下example文件夹下mavenDemojar包;
十、maven构建的生命周期
十一、idea中配置maven
(1)对单个maven项目配置maven;但以后新建文件就还需要配一次
(2)对idea进行全局配置,以后新建项目就不用再次配置了
接下来再完成第一步操作;
十二、maven坐标详解
什么是坐标?
Maven 中的坐标是资源的唯一标识,同时也是资源包在仓库中的位置。
使用坐标来定义项目或引入项目中需要的依赖
Maven 坐标主要组成
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
artifactId:定义当前Maven项目名称(通常是模块名称即jar包名字,例如 order-service、goods-service)
version:定义当前项目版本号
十三、配置java编译版本
(1)8 8
(2)全局配置;在maven中的setting.xml中配置
maven默认配置如下
true
配置完成后会在idea编译器中多一个Profiles的文件
十四、导入maven项目
十五、maven依赖管理(即jar包的管理)
中央仓库所有jar包坐标:https://mvnrepository.com
pom.xml文件中加入要导入的jar包
可设置auto-reload setting来自动刷新依赖



