Maven是什么?说白了就是Java的包管理工具。你项目里要用到SpringBoot、MyBatis这些框架,不用自己去官网下jar包,Maven帮你自动下载和管理。但默认从国外仓库下载,速度感人,所以必须配国内镜像。
一、下载Maven
官网下载
地址:https://maven.apache.org/download.cgi
找Binary zip archive(apache-maven-x.x.x-bin.zip),别下成Source了,那是源码包。
国内镜像(下载快)
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/
阿里镜像:https://mirrors.aliyun.com/apache/maven/maven-3/
版本选择
目前稳定版是3.9.x系列。如果公司有指定版本就用公司的,没有的话直接下最新的3.9.x。
注意:Maven 3.3+ 需要JDK 1.7+,确认你上一步JDK装好了。
二、安装Maven
1. 解压
把下载的zip包解压到一个无中文无空格的目录:
D:\Java\apache-maven-3.9.6
2. 配置环境变量
和JDK一样,打开环境变量设置。
新建系统变量 MAVEN_HOME:
变量名:MAVEN_HOME
变量值:D:\Java\apache-maven-3.9.6
Path里添加:
%MAVEN_HOME%\bin
3. 验证
打开cmd,执行:
mvn -version
正常输出类似:
Apache Maven 3.9.6
Maven home: D:\Java\apache-maven-3.9.6
Java version: 1.8.0_371, vendor: Oracle Corporation
能看到版本号和Java版本就说明装好了。
三、配置本地仓库(重要)
Maven下载的jar包默认存在C:\Users\你的用户名\.m2\repository下面。
问题:C盘空间不够用,而且重装系统就没了。
修改本地仓库路径
打开Maven配置文件:D:\Java\apache-maven-3.9.6\conf\settings.xml
找到<localRepository>这一段(可能被注释了),取消注释并改成你的路径:
<!-- 本地仓库路径 -->
<localRepository>D:\Java\maven-repository</localRepository>
先去D:\Java\下面手动建一个maven-repository文件夹。
四、配置阿里云镜像(核心步骤)
默认Maven从中央仓库(repo.maven.apache.org)下载依赖,服务器在国外,下载速度几十KB/s,一个SpringBoot项目能下半天。
配了阿里云镜像后,下载速度直接提到10MB/s以上。
修改 settings.xml
还是在D:\Java\apache-maven-3.9.6\conf\settings.xml里。
找到<mirrors>标签,在里面添加阿里云镜像:
<mirrors>
<!-- 阿里云公共仓库 -->
<mirror>
<id>aliyun-public</id>
<name>aliyun public</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
<!-- 阿里云中央仓库 -->
<mirror>
<id>aliyun-central</id>
<name>aliyun central</name>
<url>https://maven.aliyun.com/repository/central</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 阿里云Spring仓库 -->
<mirror>
<id>aliyun-spring</id>
<name>aliyun spring</name>
<url>https://maven.aliyun.com/repository/spring</url>
<mirrorOf>spring</mirrorOf>
</mirror>
<!-- 阿里云Spring插件仓库 -->
<mirror>
<id>aliyun-spring-plugin</id>
<name>aliyun spring plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
<mirrorOf>spring-plugin</mirrorOf>
</mirror>
<!-- 阿里云Google仓库 -->
<mirror>
<id>aliyun-google</id>
<name>aliyun google</name>
<url>https://maven.aliyun.com/repository/google</url>
<mirrorOf>google</mirrorOf>
</mirror>
<!-- 阿里云Gradle插件仓库 -->
<mirror>
<id>aliyun-gradle-plugin</id>
<name>aliyun gradle plugin</name>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
<mirrorOf>gradle-plugin</mirrorOf>
</mirror>
</mirrors>
说明:
<mirrorOf>*</mirrorOf>表示所有仓库都走这个镜像,最省心- 如果公司有自己的私服(Nexus),改成
<mirrorOf>central</mirrorOf>,别拦截公司的私服地址
备选:腾讯云镜像
如果阿里云镜像偶尔抽风,可以换腾讯云:
<mirror>
<id>tencent</id>
<name>tencent maven</name>
<url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
备选:华为云镜像
<mirror>
<id>huawei</id>
<name>huawei maven</name>
<url>https://mirrors.huaweicloud.com/repository/maven-public/</url>
<mirrorOf>*</mirrorOf>
</mirror>
五、配置JDK编译版本
在settings.xml里找到<profiles>标签,添加默认编译版本:
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
如果你用JDK 11或17,把1.8改成对应版本号就行。
六、IDEA里配置Maven(重要)
Maven装好了,但IDEA默认用的是它自带的Maven,需要改成你刚装的。
配置步骤
- 打开IDEA → File → Settings(Mac是 IntelliJ IDEA → Preferences)
- 搜索
Maven
三个关键配置:
| 配置项 | 值 |
|---|---|
| Maven home path | D:\Java\apache-maven-3.9.6(你自己的Maven安装路径) |
| User settings file | D:\Java\apache-maven-3.9.6\conf\settings.xml(勾选Override) |
| Local repository | D:\Java\maven-repository(勾选Override) |
设为全局配置(重要!)
上面只对当前项目生效。要全局生效:
File → Close Project → 在欢迎页面点 Customize → All Settings → 搜Maven,同样的配置再来一遍。
或者:File → New Projects Setup → Settings for New Projects → 搜Maven配置。
不设全局的话,每次新建项目都要改,烦死。
七、验证镜像是否生效
方法1:手动下载依赖测试
在任意目录建一个pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>maven-test</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.7.18</version>
</dependency>
</dependencies>
</project>
在这个目录下执行:
mvn clean install
如果几秒钟就下完了,说明镜像生效了。如果还是慢吞吞,检查settings.xml配置。
方法2:看下载地址
下载时Maven会打印日志,看URL是不是maven.aliyun.com开头的,是就说明镜像配对了。
八、常见问题
问题1:mvn命令找不到
和JDK一样,检查环境变量MAVEN_HOME和Path。
问题2:settings.xml改了不生效
可能IDEA用的不是你改的那个settings.xml。
确认IDEA里Maven设置 → User settings file的路径和你实际改的文件路径一致。
问题3:下载报错 Cannot resolve dependencies
排查顺序:
- 检查网络是否正常
- 检查settings.xml里镜像配置是否有语法错误(XML标签是否闭合)
- 删除本地仓库里下载失败的文件(
.lastUpdated结尾的),重新下载
批量删除失败缓存:
# 在本地仓库目录下执行
# 删除所有 .lastUpdated 文件(Windows)
del /s *.lastUpdated
# 删除所有 _remote.repositories 文件
del /s *_remote.repositories*
然后重新mvn clean install。
问题4:公司有私服怎么办
如果公司有自己的Maven私服(Nexus/Artifactory),在settings.xml里加上私服配置:
<servers>
<server>
<id>company-nexus</id>
<username>你的账号</username>
<password>你的密码</password>
</server>
</servers>
<profiles>
<profile>
<id>company-profile</id>
<repositories>
<repository>
<id>company-nexus</id>
<url>http://公司私服地址/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>company-profile</activeProfile>
</activeProfiles>
镜像配置的<mirrorOf>改成central,不要写成*,否则公司私服的包也被拦截到阿里云了,找不到公司内部的依赖。
九、完整 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
https://maven.apache.org/xsd/settings-1.2.0.xsd">
<!-- 本地仓库 -->
<localRepository>D:\Java\maven-repository</localRepository>
<!-- 镜像配置 -->
<mirrors>
<mirror>
<id>aliyun-public</id>
<name>aliyun public</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<!-- JDK编译版本 -->
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
</settings>
小结
| 配置项 | 作用 |
|---|---|
| 本地仓库路径 | 不占C盘,重装系统不丢 |
| 阿里云镜像 | 下载速度提升100倍 |
| JDK编译版本 | 避免编译报错 |
| IDEA全局配置 | 新项目自动使用 |
Maven配好了,下载速度飞快,后面拉项目就不怕了。