一、Maven 核心认知
-
定义:Apache 旗下开源的 Java 项目管理和构建工具,基于项目对象模型(POM)实现项目的依赖管理、统一结构、自动化构建。
-
核心作用
- 依赖管理:便捷管理 jar 包,解决版本冲突问题,通过坐标精准引入依赖。
- 统一项目结构:提供标准目录结构,兼容 Eclipse、IDEA 等不同开发工具。
- 项目构建:跨平台实现编译、测试、打包、发布等自动化操作,通过简单命令完成。
-
Maven 三大模型
- 项目对象模型(POM):将项目抽象为对象,通过坐标作为唯一标识。
- 依赖管理模型(Dependency):通过坐标描述项目依赖的第三方 jar 包。
- 构建生命周期 / 阶段:提供标准化的构建流程,搭配对应插件完成编译、打包等操作。
-
Maven 仓库机制
- 本地仓库:本地计算机的目录,存储已下载的 jar 包,项目优先从本地仓库获取依赖。
- 中央仓库:Maven 团队维护的全球唯一仓库,本地仓库无对应依赖时会从这里下载。
- 远程仓库(私服):企业 / 团队搭建的私有仓库,查找顺序为本地仓库 → 远程仓库 → 中央仓库。
二、Maven 安装前置准备
- 确认 JDK 已安装并配置生效,打开 CMD 输入
java -version和javac,能正常输出无报错即可(推荐 JDK8 及以上,适配 Maven3.6 + 版本)。 - 所有路径(Maven 解压路径、本地仓库路径)禁止包含中文、空格、特殊字符,避免配置失败、命令报错。
三、Maven 下载与安装
(一)下载
- 官方地址:maven.apache.org/download.cg…
- 版本选择:优先选 3.6.x 或 3.8.x 稳定版本,适配所有 JDK8+。
- 包类型:Windows 选
apache-maven-xxx-bin.zip,Mac/Linux 选apache-maven-xxx-bin.tar.gz,不要下载源码包(source.zip) 。
(二)安装(解压即安装,无复杂步骤)
Windows 系统
- 新建无中文 / 空格的文件夹,如
D:\Maven\apache-maven-3.8.8。 - 将下载的 zip 包右键解压到该文件夹,解压后确认包含
bin(可执行命令)、conf(配置文件)、lib(Maven 依赖 jar 包)核心目录。
Mac/Linux 系统
- 打开终端,进入下载目录:
cd ~/Downloads。 - 解压压缩包:
tar -zxvf apache-maven-3.8.8-bin.tar.gz。 - 移动解压文件夹到指定路径:
sudo mv apache-maven-3.8.8 /usr/local/maven(输入电脑密码完成)。
四、Maven 核心配置
(一)配置环境变量
Windows 系统
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。
- 系统变量中新建:变量名
MAVEN_HOME,变量值为 Maven 解压根目录(如D:\Maven\apache-maven-3.8.8)。 - 编辑系统变量中的
Path,新建并添加%MAVEN_HOME%\bin,建议上移至列表顶部避免冲突。 - 保存所有窗口,重启 CMD使配置生效。
Mac/Linux 系统
-
打开终端,编辑配置文件:Mac 旧系统
vim ~/.bash_profile,Mac 最新系统vim ~/.zshrc。 -
按
i进入编辑模式,添加以下内容(替换为自己的 Maven 路径):-
export MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH
-
-
按
Esc,输入:wq保存并退出,执行source ~/.bash_profile(或source ~/.zshrc)生效配置。
(二)验证环境变量配置
打开 CMD / 终端,输入命令mvn -version,若能正常输出 Maven 版本、JDK 版本等信息,说明配置成功。
(三)修改核心配置文件(settings.xml)
settings.xml位于 Maven 解压目录的conf文件夹下,核心修改本地仓库和国内镜像,解决依赖下载慢问题。
-
配置本地仓库
- 新建无中文 / 空格的本地仓库目录,如
D:\Maven\maven-repo。 - 打开
settings.xml,找到<localRepository>标签,将标签体内容替换为新建的本地仓库路径(若无该标签则手动添加)。
- 新建无中文 / 空格的本地仓库目录,如
-
配置阿里云国内镜像
- 按
Ctrl+F搜索<mirrors>标签,在标签内部添加阿里云镜像配置(优先主镜像,可加备用镜像): -
<!-- 阿里云主镜像 --> <mirror> <id>aliyunmaven</id> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>central</mirrorOf> </mirror> - 注意:
<mirror>标签需写在<mirrors>和</mirrors>之间,且尽量只配置一个主镜像,避免冲突导致 jar 包无法下载。
- 按