Maven 的安装和配置
Maven
是 Apache
的一个软件项目管理和构建工具,它可以对 Java
项目进行构建和依赖管理。本书所有的源码都选择 Maven
作为项目依赖管理工具,本节内容将讲解 Maven
的安装和配置。
当然,Gradle
也是目前比较流行的项目管理工具,感兴趣的读者可以尝试使用。
下载安装包
打开浏览器,在 Apache
官网找到 Maven
下载页面,其下载文件列表如图 4-9 所示,单击 “apache-maven-3.9.0-bin.zip” 链接即可完成下载。

本书所选择的 Maven
版本是 3.8.1。
Maven 3.8.1
版本的下载文件列表如图 4-10 所示,单击 “apache-maven-3.8.1-bin.zip” 链接即可完成下载。

安装并配置Maven
安装 Maven
并不像安装 JDK
那样需要执行安装程序,直接将下载的安装包解压缩到相应的目录即可。笔者解压缩到 D:\maven\apache-maven-3.8.1
目录下,如图 4-11 所示。

接下来配置 Maven
命令的环境变量,步骤与配置 JDK
环境变量的步骤类似。在 “环境变量” 面板中,单击 “系统变量” 下方的 “新建” 按钮,在弹出的 “新建系统变量” 对话框的 “变量名” 文本框中输入 “MAVEN_HOME”,在 “变量值” 文本框中输入目录,如 “D:\maven\apache-maven-3.8.1”,完成后单击 “确定” 按钮,如图 4-12 所示。

最后修改 PATH
环境变量,在末尾增加:
;%MAVEN_HOME%\bin;
Maven环境变量验证
Maven
环境变量配置完成后,同样需要验证配置是否正确。
打开 cmd
或 powershell
命令窗口,输 mvn -v
命令。这里安装的 Maven
版本为 3.8.1
,安装目录为 D:\maven\apache-maven-3.8.1
。如果环境变量配置正确,则命令窗口会输出如图 4-13 所示的验证结果,表示 Maven
安装成功。

如果在输入命令后报错,则需要检查环境变量配置步骤中是否存在路径错误或拼写错误,然后进行改正。
配置国内Maven镜像
在完成以上工作后就可以正常使用 Maven
工具了。为了获得更好的使用体验,建议国内开发人员修改一下 Maven
的配置文件。
国内开发人员在使用 Maven
下载项目的依赖文件时,通常会遇到下载速度缓慢的情况,甚至出现 “编码5分钟,启动项目半小时” 的窘境。这是因为 Maven
的中央仓库在国外的服务器中,如图 4-14 所示。

每次下载新的依赖文件都需要通过外网访问 Maven
中央仓库,如果不进行配置的优化处理,就会极大地影响开发流程。笔者建议使用国内公司提供的中央仓库镜像,比如阿里云的镜像、华为云的镜像。另一种做法是自己搭建一个私有的中央仓库,然后修改 Maven
配置文件中的 mirror
标签来设置镜像仓库。
这里以阿里云镜像仓库为例,介绍如何配置国内 Maven
镜像,加快依赖的访问速度。
进入 Maven
安装目录 D:\maven\apache-maven-3.8.1
,在 conf
文件夹中打开 settings.xml
配置文件。添加阿里云镜像仓库的链接,修改后的 settings.xml
配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
<!-- 本地仓库的路径 设置的是 D 盘 maven/repo 目录下(自行配置一个文件夹即可,默认是 ~/.m2/repository) -->
<localRepository>D:\maven\repo</localRepository>
<!-- 配置阿里云镜像服务器 -->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/central</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
在配置完成后,可以直接访问国内的镜像仓库,从而使 Maven
下载 JAR
包依赖的速度变得更快,可以节省很多时间,如图 4-15 所示。
