Windows下安装Maven的详细教程(含镜像与本地仓库配置)

 更新时间:2026年04月14日 08:33:34   作者:李少兄  
Maven 是 Java 生态系统中不可或缺的项目管理和构建自动化工具,本文详细介绍了在Windows系统上安装和配置Maven的完整流程,希望对大家有所帮助

Maven 是 Java 生态系统中不可或缺的项目管理和构建自动化工具。它通过项目对象模型(POM)的概念,标准化了项目的构建、依赖管理、文档生成等流程。对于 Windows 开发者而言,正确安装和配置 Maven 是高效进行 Java 项目开发的第一步。

一、安装前的核心准备:确认并配置 JDK 环境

Maven 本身是用 Java 编写的,因此其运行完全依赖于 Java Development Kit (JDK)。在安装 Maven 之前,必须确保系统中已正确安装并配置了 JDK。

1. 验证 JDK 是否已安装

按下 Win + R 键,输入 cmd 打开命令提示符,执行以下命令:

java -version

如果命令成功返回 JDK 的版本信息(例如 java ve

rsion "17.0.12" 2025-04-15 LTS),则说明 JDK 已安装。如果提示 'java' 不是内部或外部命令,则需要先安装 JDK。

2. JDK 版本与 Maven 的兼容性

选择合适的 JDK 版本至关重要,以确保与所选 Maven 版本的兼容性。

  • Maven 3.9.x(当前主流稳定版):要求运行环境为 JDK 8 或更高版本
  • Maven 3.8.x:同样支持 JDK 8 及以上。
  • 最佳实践:建议使用 JDK 17(LTS 长期支持版本)或 JDK 21(最新 LTS 版本)作为开发环境,它们能完美兼容所有现代 Maven 版本,并提供最新的语言特性和性能优化。

3. 配置 JAVA_HOME 环境变量

即使 java -version 命令有效,也强烈建议显式设置 JAVA_HOME 环境变量,因为许多构建工具(包括 Maven)会优先读取此变量来定位 JDK。

  1. 在文件资源管理器中,找到你的 JDK 安装目录(例如 C:\Program Files\Java\jdk-17.0.12)。
  2. 按下 Win + S,搜索“环境变量”,并选择“编辑系统环境变量”。
  3. 在“系统属性”窗口中,点击“环境变量”按钮。
  4. 在“系统变量”区域,点击“新建”。
    • 变量名: JAVA_HOME
    • 变量值: 你的 JDK 安装目录的完整路径(不包含 bin 文件夹)。
  5. 点击“确定”保存。此时,Maven 将能够准确无误地找到 JDK。

二、下载与安装 Maven

1. 获取 Maven 安装包

访问 Maven 官方下载页面:https://maven.apache.org/download.cgi

  • 推荐下载:选择 Binary zip archive (apache-maven-{version}-bin.zip)。这是适用于 Windows 系统的标准分发包。
  • 历史版本:如需特定旧版本,可前往存档页面:https://archive.apache.org/dist/maven/maven-3/

2. 解压安装包

Maven 是一个“绿色软件”,无需复杂的安装过程,解压即用。

  1. 选择一个不含中文、空格或特殊字符的目录作为 Maven 的安装根目录。例如:D:\dev-tools\apache-maven-3.9.9
  2. 将下载的 .zip 文件解压到该目录。解压后,目录结构应包含以下关键文件夹:
    • bin/: 存放可执行脚本,如 mvn.cmd
    • conf/: 存放核心配置文件 settings.xml
    • lib/: 存放 Maven 运行所需的 JAR 库文件。

三、配置 Maven 环境变量

为了让系统在任何位置都能识别 mvn 命令,需要将其添加到系统的 PATH 环境变量中。

1.设置 MAVEN_HOME:

  • 再次打开“环境变量”设置窗口。
  • 在“系统变量”中,点击“新建”。
    • 变量名: MAVEN_HOME
    • 变量值: Maven 的安装根目录(例如 D:\dev-tools\apache-maven-3.9.9)。

2.更新 Path 变量:

  • 在“系统变量”列表中,找到名为 Path 的变量,并双击或选中后点击“编辑”。
  • 点击“新建”,然后输入 %MAVEN_HOME%\bin
  • 点击“确定”保存所有更改。

3. 验证 Maven 安装

重新打开一个新的命令提示符窗口(重要:必须是新窗口,以加载新的环境变量),执行以下命令:

mvn -v

如果配置成功,你将看到类似如下的输出:

Apache Maven 3.9.9 (8e8579a7e0d6f1c1b3b5b5b5b5b5b5b5b5b5b5b5)
Maven home: D:\dev-tools\apache-maven-3.9.9
Java version: 17.0.12, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-17.0.12
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

此输出清晰地展示了 Maven 版本、安装路径、所使用的 Java 版本及运行时路径,证明安装和环境变量配置均已完成。

四、配置本地仓库(Local Repository)

Maven 会将项目依赖(JAR 包等)下载并缓存在本地仓库中,以避免重复下载。默认情况下,本地仓库位于用户主目录下的 .m2/repository 文件夹(例如 C:\Users\YourName\.m2\repository)。为了更好的磁盘空间管理和项目隔离,建议自定义本地仓库路径。

1. 创建本地仓库目录

在你希望的位置创建一个新的文件夹,例如 D:\maven-repo

2. 修改settings.xml文件

settings.xml 是 Maven 的全局配置文件,位于 Maven 安装目录的 conf 文件夹下(%MAVEN_HOME%\conf\settings.xml)。

  1. 使用文本编辑器(如 VS Code、Notepad++)打开 settings.xml
  2. 在文件中找到 <settings> 根标签。
  3. <settings> 标签内,找到被注释掉的 <localRepository> 行(通常在第 55 行左右)。取消注释,并将其值修改为你刚刚创建的目录路径。
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
  -->
  <localRepository>D:/maven-repo</localRepository>
  <!-- 其他配置... -->
</settings>

注意:在 Windows 路径中,可以使用正斜杠 / 或双反斜杠 \\。使用正斜杠是更通用且不易出错的做法。

3. 验证本地仓库配置

执行一次简单的 Maven 命令(如 mvn archetype:generate 并中断),然后检查你指定的 D:\maven-repo 目录是否开始有文件写入。或者,在后续的项目构建中,所有下载的依赖都将出现在此目录下。

五、配置国内镜像(Mirror)以加速依赖下载

Maven 默认从位于美国的中央仓库(repo.maven.apache.org)下载依赖,这在国内会导致速度极慢甚至超时。配置国内镜像源是提升开发效率的关键一步。

1. 选择镜像源

国内最常用、最稳定的镜像是 阿里云 Maven 镜像

2. 在settings.xml中配置镜像

继续编辑 conf/settings.xml 文件。

  1. 找到 <mirrors> 标签块(通常在文件中部)。
  2. <mirrors> 标签内,添加以下阿里云镜像配置:
<settings>
  <!-- ... 其他配置,包括 localRepository ... -->
  <mirrors>
    <!-- 阿里云公共仓库镜像 -->
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>central</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
    <!-- 阿里云 Spring 插件仓库镜像(可选,但推荐) -->
    <mirror>
      <id>aliyun-spring</id>
      <mirrorOf>spring-milestones,spring-snapshots</mirrorOf>
      <name>阿里云 Spring 插件仓库</name>
      <url>https://maven.aliyun.com/repository/spring</url>
    </mirror>
  </mirrors>
  <!-- ... 其他配置 ... -->
</settings>

关键参数解释

  • <id>: 镜像的唯一标识符,可自定义。
  • <mirrorOf>: 最重要的字段central 表示此镜像将替代 Maven 中央仓库。* 表示替代所有仓库(不推荐,可能会导致私有仓库无法访问)。spring-milestones,spring-snapshots 表示替代特定的仓库 ID。
  • <url>: 镜像的实际地址。

通过以上配置,所有原本指向中央仓库的请求都将被重定向到阿里云,从而获得飞一般的下载速度。

额外提示

  • IDE 集成:在 IntelliJ IDEA 或 Eclipse 中,记得在 Maven 设置里指定你自定义的 settings.xml 文件和本地仓库路径,以确保 IDE 内的构建行为与命令行一致。
  • 配置文件优先级:Maven 会同时读取全局配置(%MAVEN_HOME%\conf\settings.xml)和用户配置(%USER_HOME%\.m2\settings.xml)。后者优先级更高,适合存放个人敏感信息。

到此这篇关于Windows下安装Maven的详细教程(含镜像与本地仓库配置)的文章就介绍到这了,更多相关Windows安装Maven内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA中使用Typora编辑md文件的方法

    IDEA中使用Typora编辑md文件的方法

    这篇文章主要介绍了IDEA中使用Typora编辑md文件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Druid连接池配置过程及连接池调优方式

    Druid连接池配置过程及连接池调优方式

    这篇文章主要介绍了Druid连接池配置过程及连接池调优方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • 如何将jdk10降版本到jdk1.8

    如何将jdk10降版本到jdk1.8

    这篇文章主要介绍了如何将jdk10降版本到jdk1.8问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 详解Spring如何解析占位符

    详解Spring如何解析占位符

    Spring一直支持将属性定义到外部的属性的文件中,并使用占占位符的形式为使用"${}"包装的属性名称,为了使用属性占位符,我们必须配置一个PropertyPlaceholderConfigurer或PropertySourcesPlaceholderConfigurer实例,本文将介绍如何解析占位符
    2021-06-06
  • Java实现多路复用select模型实例详解

    Java实现多路复用select模型实例详解

    在计算机网络中,多路复用(Multiplexing)指的是通过一种机制将多个 I/O 操作合并到同一个线程或进程中,从而提高系统的效率,在 Java 中,可以使用 Selector 类来实现基于 I/O 多路复用的模式,故本文给大家介绍了Java实现多路复用select模型实例,需要的朋友可以参考下
    2025-03-03
  • 基于maven的springboot的"过时"用法解析

    基于maven的springboot的"过时"用法解析

    这篇文章主要为大家介绍了基于maven的springboot"过时"用法示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • nacos服务注册命名空间指定方式

    nacos服务注册命名空间指定方式

    文章介绍了Nacos服务注册命名空间的用途,以及如何创建和指定命名空间,命名空间用于隔离不同项目的服务和配置,避免冲突,通过在配置文件中指定命名空间ID,服务会注册到相应的命名空间中,这样可以更好地管理不同环境下的配置文件
    2024-12-12
  • Java字符串工具类从原生到第三方库的高效实践详解

    Java字符串工具类从原生到第三方库的高效实践详解

    字符串是我们在编程中最常使用的一种数据类型,Java中用类来描述字符串,其中最常用的字符串处理类是String,这篇文章主要介绍了Java字符串工具类从原生到第三方库的高效实践的相关资料,需要的朋友可以参考下
    2025-08-08
  • SpringBoot引入模板引擎实现视图解析

    SpringBoot引入模板引擎实现视图解析

    这篇文章主要介绍了SpringBoot引入模板引擎实现视图解析方法流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • SpringBoot如何获取当前操作用户的id/信息

    SpringBoot如何获取当前操作用户的id/信息

    在一般性的基设需求中,有需要获取当前用户操作记录的情况,也就是说我们需要记录当前用户的信息,如:id、昵称、账号等信息,这篇文章主要介绍了SpringBoot获取当前操作用户的id/信息,需要的朋友可以参考下
    2023-10-10

最新评论