需先确认jdk 11+已安装并正确配置java_home和path,再下载maven 3.9+二进制包配置m2_home,最后修改~/.m2/settings.xml添加阿里云镜像(mirrorof=*)并用mvn help:effective-settings验证生效路径。

确认系统已安装 JDK 并配置好 JAVA_HOME
Maven 3.9+ 要求 JDK 11 或更高版本,如果 java -version 输出低于 11,或提示命令未找到,Maven 启动会直接失败,报错类似:ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
检查方式:echo $JAVA_HOME 应输出 JDK 安装路径(如 /usr/lib/jvm/java-17-openjdk-amd64),且 which java 必须有返回。
- 若未设置:编辑
~/.bashrc或/etc/profile,追加两行(以 OpenJDK 17 为例):export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
- 生效配置:
source ~/.bashrc(当前用户)或source /etc/profile(全局) - 验证:
java -version && echo $JAVA_HOME两个命令都应正常输出
下载解压 Maven 并配置 M2_HOME 和 PATH
别用系统包管理器装(如 apt install maven),Ubuntu/Debian 的源里版本常滞后(比如还是 3.6.x),且默认不设 M2_HOME,后续改镜像、调本地仓库路径会更麻烦。
推荐从官网下载二进制包(apache-maven-3.9.7-bin.tar.gz 这类):
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 下载:
wget https://dlcdn.apache.org/maven/maven-3/3.9.7/binaries/apache-maven-3.9.7-bin.tar.gz - 解压到固定位置,例如:
sudo tar -xzf apache-maven-3.9.7-bin.tar.gz -C /opt/→ 得到/opt/apache-maven-3.9.7 - 配置环境变量:在
~/.bashrc中添加export M2_HOME=/opt/apache-maven-3.9.7 export PATH=$M2_HOME/bin:$PATH
- 重载并验证:
source ~/.bashrc && mvn -v应显示 Maven 版本和 Java 版本
修改 settings.xml 配置阿里云镜像加速
本地 settings.xml 优先级高于全局,建议直接改用户级配置(~/.m2/settings.xml),避免影响其他用户。若该文件不存在,可从 $M2_HOME/conf/settings.xml 复制一份过去。
关键操作是替换 <mirrors></mirrors> 块——不是追加,否则可能被空 <mirrorof></mirrorof> 覆盖;也不是只改 central,要覆盖所有远程仓库请求(包括 spring-plugins 等非 central 源)。
- 在
~/.m2/settings.xml的<settings></settings>标签下,插入以下内容(注意缩进对齐):<mirrors><mirror><id>aliyunmaven</id><mirrorof>*</mirrorof><name>Aliyun Maven</name><url>https://maven.aliyun.com/repository/public</url></mirror></mirrors>
-
<mirrorof>*</mirrorof>表示拦截全部远程仓库请求;若写成central,则spring-snapshots等仓库仍走慢速官方源 - 改完后执行
mvn clean compile -U(-U强制更新快照),观察日志中下载 URL 是否变成maven.aliyun.com
验证本地仓库路径和镜像是否生效
很多人改完 settings.xml 却发现依赖还是从 repo.maven.apache.org 下,原因常是:没重启终端(环境变量未加载)、settings.xml 放错位置、或者项目根目录下存在 mvnw 脚本自带的 .mvn/wrapper/maven-wrapper.properties 覆盖了配置。
- 查实际生效的
settings.xml路径:mvn help:effective-settings | grep "Effective user-specific configuration" - 查本地仓库真实路径:
mvn help:effective-settings | grep localRepository,默认是~/.m2/repository,但可通过<localrepository>/data/m2</localrepository>在settings.xml中修改 - 清空旧缓存再测试:
rm -rf ~/.m2/repository/org/apache/maven(删掉 Maven 自身依赖),再运行mvn archetype:generate -DgroupId=test -DartifactId=demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,观察下载域名
镜像配置本身很简单,真正卡住人的往往是路径没对上、配置没加载、或者多个 settings.xml 层级互相覆盖。动手前先用 mvn help:effective-settings 看一眼,比盲目改文件高效得多。










