💜 想真正擅长编程? 从一门课程开始,100% 免费

1-2、Maven安装与阿里云镜像配置

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包解压到一个无中文无空格的目录:

TEXT
D:\Java\apache-maven-3.9.6

2. 配置环境变量

和JDK一样,打开环境变量设置。

新建系统变量 MAVEN_HOME:

TEXT
变量名:MAVEN_HOME
变量值:D:\Java\apache-maven-3.9.6

Path里添加:

TEXT
%MAVEN_HOME%\bin

3. 验证

打开cmd,执行:

Shell
mvn -version

正常输出类似:

TEXT
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>这一段(可能被注释了),取消注释并改成你的路径:

XML
<!-- 本地仓库路径 -->
<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>标签,在里面添加阿里云镜像:

XML
<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>,别拦截公司的私服地址

备选:腾讯云镜像

如果阿里云镜像偶尔抽风,可以换腾讯云:

XML
<mirror>
    <id>tencent</id>
    <name>tencent maven</name>
    <url>https://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
    <mirrorOf>*</mirrorOf>
</mirror>

备选:华为云镜像

XML
<mirror>
    <id>huawei</id>
    <name>huawei maven</name>
    <url>https://mirrors.huaweicloud.com/repository/maven-public/</url>
    <mirrorOf>*</mirrorOf>
</mirror>

五、配置JDK编译版本

在settings.xml里找到<profiles>标签,添加默认编译版本:

XML
<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,需要改成你刚装的。

配置步骤

  1. 打开IDEA → File → Settings(Mac是 IntelliJ IDEA → Preferences)
  2. 搜索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:

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>

在这个目录下执行:

Shell
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

排查顺序:

  1. 检查网络是否正常
  2. 检查settings.xml里镜像配置是否有语法错误(XML标签是否闭合)
  3. 删除本地仓库里下载失败的文件(.lastUpdated结尾的),重新下载

批量删除失败缓存:

Shell
# 在本地仓库目录下执行
# 删除所有 .lastUpdated 文件(Windows)
del /s *.lastUpdated

# 删除所有 _remote.repositories 文件
del /s *_remote.repositories*

然后重新mvn clean install。

问题4:公司有私服怎么办

如果公司有自己的Maven私服(Nexus/Artifactory),在settings.xml里加上私服配置:

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
<?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配好了,下载速度飞快,后面拉项目就不怕了。