目录
Maven简介
使用情境:
jar包不统一,jar包不兼容。如mybatis升级后,依赖的junit版本要求高了,需要再重新配置。
工程升级维护过程操作繁琐。如开发完项目换环境发布,需要源代码放服务器重新编译测试打包部署。
Maven是什么
Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
POM(Project Object Model):项目对象模型
Maven是由Java开发的,体现了面向对象的思想,把项目看做一个对象进行管理,即POM。项目对象通过加载pom.xml文件得到项目信息。项目对象通过依赖管理使用资源,项目自身也可以变为资源被maven进行管理供人使用。依赖管理的资源最终来自中央仓库。
Maven使用插件完成构建生命周期。一个构建过程可以包含多个插件,一个插件可以对应多个构建过程。构建结果可以是jar包,源代码等。
虚线上部分是Maven对项目操作过程中对应的内容,下部分是Maven已经封装好的无数个插件。
Maven作用
项目构建:提供标准的、跨平台的自动化项目构建方式。
依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题。
统一开发结构:提供标准的、统一的项目结构。
下载与安装
Maven下载
Maven安装
Maven属于绿色版软件,解压安装即可
Maven环境变量配置
依赖Java,需要配置JAVA_HOME
设置MAVEN自身的自身运行环境,需要配置MAVEN_HOME
1.新建MAVEN_HOME,值为安装路径。见下图
2.复制maven的bin文件夹路径(D:\maven\apache-maven-3.6.3\bin)配置到path环境变量(操作:【此电脑】--【右键属性】--【高级系统设置】--【环境变量】--【系统变量】--【path】--【编辑】--【新建】--【复制粘贴的路径】--【确定】)
测试环境配置结果
cmd 输入mvn -verson命令
Maven基础概念
仓库
仓库∶用于存储资源,包含各种jar包
仓库分类
本地仓库∶自己电脑上存储资源的仓库,连接远程仓库获取资源
远程仓库∶非本机电脑上的仓库,为本地仓库提供资源
中央仓库∶Maven团队维护,存储所有资源的仓库
私服∶部门/公司范围内存储资源的仓库,从中央仓库获取资源
私服的作用∶
保存具有版权的资源,包含购买或自主研发的jar
中央仓库中的jar都是开源的,不能存储具有版权的资源
一定范围内共享资源,仅对内部开放,不对外共享
提高下载jar包的速度
坐标
什么是坐标?
Maven中的坐标用于描述仓库中资源的位置
https://repo1.maven.org/maven2/
Maven坐标主要组成
groupld∶定义当前Maven项目隶属组织名称(通常是域名反写,例如∶org.mybatis)
artifactld∶定义当前Maven项目名称(通常是模块名称,例如CRM、SMS)
version∶定义当前项目版本号
packaging:定义该项目的打包方式
Maven坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成
坐标示例
<!--项目坐标-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
本地仓库配置
Maven启动后,会自动保存下载的资源到本地仓库
&nb