应直接下载Maven官网二进制包并手动安装,配置JAVA_HOME指向JDK、PATH包含bin目录、settings.xml启用阿里云镜像及自定义本地仓库路径,再通过mvn -v和mvn validate验证。

下载并安装Maven二进制包
不要用系统包管理器(如 apt install maven 或 brew install maven)装,它们常带旧版本或删减依赖,容易在 mvn compile 时报 Could not resolve dependencies。直接去 Maven官网 下载 apache-maven-x.x.x-bin.zip,解压到无空格、无中文路径下,比如 /opt/maven 或 C:\maven。
验证是否成功:终端运行
mvn -v,输出应含
Apache Maven x.x.x 和已配置的 JAVA_HOME 路径。若提示 command not found,说明 PATH 没配对 —— 把 bin 目录加进环境变量,Linux/macOS 编辑 ~/.bashrc 或 ~/.zshrc,Windows 在系统属性 → 高级 → 环境变量里操作。
配置 settings.xml 指向本地仓库和镜像
默认 settings.xml 在 $MAVEN_HOME/conf/settings.xml,但更推荐复制一份到用户目录:~/.m2/settings.xml(Windows 是 %USERPROFILE%\.m2\settings.xml),这样不会被 Maven 升级覆盖。
关键改两处:
立即学习“Java免费学习笔记(深入)”;
- 把
改成绝对路径,比如/Users/you/.m2/repository(避免默认路径含空格或权限问题) - 在
标签下加阿里云镜像,加速依赖下载:aliyunmaven * Aliyun Maven https://maven.aliyun.com/repository/public
不配镜像的话,mvn clean package 可能卡在 Downloading from central: 十几分钟不动。
验证项目能否正确解析 pom.xml
新建空目录,写一个最简 pom.xml:
4.0.0 demo hello 1.0 17 junit junit 4.13.2 test
执行
mvn validate,它不编译代码,只校验
pom.xml 结构和依赖坐标合法性。如果报错 Non-resolvable parent POM,说明父 POM 没指定或镜像没生效;如果 mvn test 找不到 junit,检查 ~/.m2/repository/junit/ 下是否有对应 jar 包 —— 没有就是镜像或网络配置失败。
JAVA_HOME 必须指向 JDK,不是 JRE
Maven 构建 Java 项目时会调用 javac 和 java,如果 JAVA_HOME 指向 JRE(比如 /usr/lib/jvm/java-17-openjdk-amd64/jre),mvn compile 会失败并提示:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (compile) on project hello: Fatal error compiling: invalid target release: 17 ->
确认方式:
$ echo $JAVA_HOME $ $JAVA_HOME/bin/javac -version输出应为
javac 17.0.x。常见错误路径包括:
- macOS Homebrew 安装的 JDK:用
/opt/homebrew/opt/openjdk(不是openjdk/libexec/openjdk.jdk) - Windows:确保是
C:\Program Files\Java\jdk-17.0.x,而非jre1.8.0_xxx - Linux:避免用
/usr/bin/java的软链接,要用真实 JDK 根目录
这个环节出错,所有后续命令都会挂,但错误信息不直指 JAVA_HOME,容易绕弯排查。










