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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于Linux服务器配置java环境遇到的问题小结

    关于Linux服务器配置java环境遇到的问题小结

    这篇文章主要介绍了关于Linux服务器配置java环境遇到的问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • JAVA虚拟机中 -D, -X, -XX ,-server参数使用

    JAVA虚拟机中 -D, -X, -XX ,-server参数使用

    本文主要介绍了JAVA虚拟机中 -D, -X, -XX ,-server参数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • SpringBoot集成Redis流程详解

    SpringBoot集成Redis流程详解

    这篇文章主要介绍了SpringBoot集成Redis流程详解,导入jar包,编写配置类,编写util类,配置yml这四个步骤,有详细的代码示例,,需要的朋友可以参考下
    2023-05-05
  • Spring多数据源切换失败,发现与事务相关问题

    Spring多数据源切换失败,发现与事务相关问题

    这篇文章主要介绍了Spring多数据源切换失败,发现与事务相关问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 基于String和List<String>间的相互转换方式

    基于String和List<String>间的相互转换方式

    这篇文章主要介绍了基于String和List间的相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 图解Java ReentrantLock的条件变量Condition机制

    图解Java ReentrantLock的条件变量Condition机制

    想必大家都使用过wait()和notify()这两个方法把,他们主要用于多线程间的协同处理。而RenentrantLock也支持这样条件变量的能力,而且相对于synchronized 更加强大,能够支持多个条件变量,本文就来详细说说
    2022-10-10
  • Java静态和非静态成员变量初始化过程解析

    Java静态和非静态成员变量初始化过程解析

    这篇文章主要介绍了Java静态和非静态成员变量初始化过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 关于Maven循环依赖问题及解决过程

    关于Maven循环依赖问题及解决过程

    这篇文章主要介绍了关于Maven循环依赖问题及解决过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • SpringBoot 中处理接口传参时常用的注解及使用场景分析

    SpringBoot 中处理接口传参时常用的注解及使用场景分析

    SpringBoot提供了多种注解来处理不同位置的参数,包括路径参数、URL请求参数、请求体参数、请求头参数和Cookie参数,每种注解都有其特定的使用场景和核心用法,下面给大家介绍SpringBoot中处理接口传参时常用的注解及使用场景分析,感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • mybatis如何根据表逆向自动化生成代码实例

    mybatis如何根据表逆向自动化生成代码实例

    逆向工程是一个专门为 MyBatis 框架使用者设计的代码生成器,可以根据数据库中的表字段名,自动生成 POJO 类,mapper 接口与 SQL 映射文件,这篇文章主要给大家介绍了关于mybatis如何根据表逆向自动化生成代码的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论