Maven 下载、安装与配置:一次跑通,顺路把坑填了
- 2026-09-16 15:08:04
“作为 Java coder,肯定离不开 Maven,对于Maven 环境的配置,说难不难,但是整个配置过程还是有很多需要注意的地方。本文记录了我的 Maven 环境配置过程,供各位大佬参考”

01
—
前置条件:JDK
其实 Maven 是不负责编译的,编译是 JDK 干的活,所以 Mave 必须能找到 JDK。所以下载 Maven 之前需要确定:
你本机的是否有 Java 环境
按 Win + R 输入 cmd 回车,输入如下命令:
java -versionjavac -version

我这边是openjdk 21 ,后面所有的配置都以它为例
环境变量
JAVA_HOME最好得有Maven 的启动脚本找的是
JAVA_HOME这个环境变量,找不到才会退而求其次用 PATH 里的java。IDE、Tomcat 之类的工具同样依赖JAVA_HOME,所以这个环境变量最好配置

Java环境的配置https://mp.weixin.qq.com/s/vR7WFIyNZjI_r2GgopzCWw
02
—
下载 Maven
首先确定要下载的 Maven 版本
因为 Maven 是依赖 JDK 的,所以它俩的版本对应关系,参考官网:https://maven.apache.org/docs/history.html。因为我目前的 JDK 版本是21,所以我这里就准备下载 Maven 3.9.14 这个版本,而你们在下载的时候,至少得保证 JDK 版本要比 Maven 要求的高才行

开始下载 Maven
Maven 是绿色免安装的软件,我们下载的时候直接下载以
-bin.zip结尾的包就行了
官网下载地址:https://archive.apache.org/dist/maven/maven-3/3.9.14/binaries/

03
—
解压
解压的时候,我们需要注意(踩过坑的过来人建议):
不要解压到C盘的系统目录(比如:
C:\Program Files),可能会有权限问题路径不要有中文和空格
这里我就放在 D:\software\Maven 这个目录下

Maven的目录结构也说明下:
bin:mvn.cmd就在这里,环境变量指的就是它conf:全局配置文件settings.xml放在这lib:Maven 自己的依赖,别手动动里面任何东西boot:类加载器相关

04
—
配置环境变量
按 Win 键,搜索"编辑系统环境变量",进去后点"环境变量",然后参考我的配法

配置好了之后,一路 “确定”直至关闭所有窗口,然后重新打开终端输入如下命令验证 Maven 环境变量是否配置成功
mvn -v
重点关注:Maven home 是不是你解压的那个目录,Java version 是不是你预期的 JDK
05
—
Maven 配置
Maven 的核心配置文件settings.xml ,Maven的配置基本都集中在这个文件中,它有两份:
全局(安装目录下):我这里是
D:\software\Maven\apache-maven-3.9.14\conf\settings.xml用户级:
C:\Users\用户名\.m2\settings.xml(第一次安装,你的用户目录下可能连.m2这个目录都没有,这是正常的,后面自己创建就是)
这两份配置文件都能会被 Maven 读取,但是用户级的配置优先级更高(即出现相同配置,用户级的会覆盖全局的),所以我的做法是直接将全局的settings.xml配置文件直接复制一份到 C:\Users\用户名\.m2\下(没有.m2目录,手动创建就是),就只修改用户级别的配置。因为以后你升级Maven,你的全局配置又得重新配置,用户级别的,只要用户不变,配置就不变

所以接下来就对用户级的配置进行修改
1. 改本地仓库
本地仓库默认在 C:\Users\你的用户名\.m2\repository,用久了轻松几个 G,建议挪到别的盘
在 settings.xml 里找到被注释掉的 localRepository 那一行的下面,新增如下配置
<!-- 本地仓库 (注意仓库地址不要有中文)--><localRepository>D:\maven-repository</localRepository>

2. 换镜像源
官方中央仓库在国外,不换镜像的话,第一次拉依赖会慢到怀疑人生。在 <mirrors> 节点里加上阿里云的镜像:
其中需要注意:
新版的
settings.xml里 没有注释的、叫maven-default-http-blocker的mirror其实不用注释,它的作用是拦截http 协议的仓库,把它注释掉只会让你更容易撞上 http 仓库被拒的问题,留着就行。如果公司有私服(比如Nexus),在mirrorOf处要排除对私服的请求,不然无法请求私服的仓库(我本地没有私服,就不配置了)
<mirror><id>maven-default-http-blocker</id><mirrorOf>external:http:*,!私服id或私服的ip或域名</mirrorOf><name>Pseudo repository to mirror external repositories initially using HTTP.</name><url>http://0.0.0.0/</url><blocked>true</blocked></mirror>
<!--mirrorOf 中写 central 表示只替换中央仓库。公司私服、Spring仓库都不受影响mirrorOf 中写 * 表示把所有仓库请求全部代理到阿里云,一但你项目里配了私服,而阿里云上又没有的话,就会报依赖找不到的错误所以mirrorOf 中建议配置为central--><mirror><id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>

3. 指定 JDK 版本
这段配置写在 <profiles> 里,作用是让所有项目默认按 JDK 21 编译,省得每个 pom.xml 都写一遍(jdk版本根据你自己的情况来)
<!-- jdk配置(可替换成你的jdk版本) --><profile><id>jdk21</id><activation><activeByDefault>true</activeByDefault></activation><properties><!-- 不推荐的写法 --><!--<maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target>--><!--官方推荐这种配置方式:比如这里配置的是jdk21的版本,但实际用的是jdk21+的版本进行编译,可以确保你的代码只使用jdk21及之前版本中存在的API,从根本上 避免了这种兼容性问题--><maven.compiler.release>21</maven.compiler.release><!-- 避免跨平台构建时出现乱码问题 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><maven.compiler.encoding>UTF-8</maven.compiler.encoding></properties></profile>

06
—
验证配置
先执行如下命令:
# mvn 是Maven的主命令# help 是Maven自带的帮助插件# effective-settings 是插件的目标,也就是输出最终生效的settingsmvn help:effective-settings

这条命令会把全局和用户级两份配置合并,然后去掉不生效和重复的部分(重复部分以用户级配置为准),把最终生效的配置打印出来

07
—
IDEA 配置
打开File → Settings → Build, Execution, Deployment → Build Tools → Maven,改如下三个地方
Maven home path:改成你自己解压的 Maven 目录,别用 Bundled(Bundled 是 IDEA 自带了一个捆绑版的 Maven);
User settings file:勾上 Override,指定
C:\Users\你的用户名\.m2\settings.xml;Local repository:正常情况下会自动识别成
settings.xml里配的路径,没识别出来话,勾上 Override,就手动指定一下。

需要注意的就是:项目里如果有 .mvn/maven.config 或者 mvnw(Maven Wrapper),IDEA 会优先用 Wrapper 指定的版本,跟你装的那套没关系。我们项目一般不会这样使用,所以这里我去掉 Use settings from .mvn/maven.config 的勾选
另外,你想让 IDEA 打开其他新的项目时,也使用该 Maven 配置,还需如下配置:
File → New Projects Setup → Setting for New Projects → Build, Execution, Deployment → Build Tools → Maven

跟之前的配置一样

至此,Maven就算配置完成了