把Maven的bin目录加入系统Path,是mvn命令全局可用的唯一关键步骤;MAVEN_HOME只是辅助变量,配置它的核心目的是让Path引用更清晰,不配置MAVEN_HOME直接把bin绝对路径写进Path也能跑通。
很多新手第一次配置时,卡在“mvn不是内部或外部命令”这一步,问题往往不在命令本身,而在Path没配对,下面从Windows到macOS、Linux,把mvn配置环境变量的路径、命令、排查方法一次说清。
win10 maven环境变量配置教程:从下载到命令行验证
Maven是绿色软件,不需要安装,下载解压后配置两个变量,终端里输入mvn能识别,配置就成功了。
下载Maven二进制包并解压到固定目录
- 打开Maven官网下载Binary zip包,不要下载src源码包。
- 解压到无中文、无空格的路径,例如
D:\dev\apache-maven-3.9.9。 - 解压后确认bin目录里有
mvn.cmd文件,这个文件就是Windows下的mvn入口。 - Maven本身完全开源免费,下载和配置环境变量没有任何收费环节。
在系统变量里新建MAVEN_HOME
- 右键“此电脑” → 属性 → 高级系统设置 → 环境变量。
- 在“系统变量”区域点“新建”。
- 变量名输入:
MAVEN_HOME。 - 变量值输入:
D:\dev\apache-maven-3.9.9。 - 点确定保存。
行业共识认为,把MAVEN_HOME单独抽出来配置,比直接把bin绝对路径写进Path更容易维护,以后升级Maven版本,只需要改MAVEN_HOME的路径,不用动Path。
把%MAVEN_HOME%\bin加进Path
- 在系统变量里找到
Path,双击编辑。 - 点“新建”,输入:
%MAVEN_HOME%\bin。 - 把这条上移到靠前位置,避免旧配置干扰。
- 一路点确定保存。
常见错误是只写了%MAVEN_HOME%,漏掉后面的\bin,这样终端永远找不到mvn命令。
新开CMD输入mvn -v验证
- 按
Win+R输入cmd回车,新开一个命令提示符窗口。 - 执行命令:
mvn -v。 - 看到
Maven home: D:\dev\apache-maven-3.9.9和Java version字样即为成功。 - 如果还提示“mvn不是内部或外部命令”,直接看后面“maven环境变量配置不生效”一节。

mac与linux的maven环境变量配置对比:终端用户看这篇
macOS和Linux没有图形环境变量面板,都是通过shell配置文件写入export,两者命令一样,差别在文件位置和Maven的安装路径。
mac下maven环境变量配置写在哪个文件
- macOS新版终端默认使用zsh,应编辑
~/.zshrc;老版本或手动切换bash则编辑~/.bash_profile。 - 如果使用Homebrew安装Maven,执行
brew install maven,环境变量通常自动配好。 - 手动安装时,在配置文件中写入:
export MAVEN_HOME=/usr/local/apache-maven-3.9.9 export PATH=$MAVEN_HOME/bin:$PATH
- 保存后执行
source ~/.zshrc生效。 - 再执行
mvn -v验证。
linux下maven环境变量配置常用路径
- 将Maven解压到
/opt/maven或/usr/local/maven。 - 编辑
/etc/profile可对全体用户生效;只对当前用户生效可编辑~/.bashrc。export MAVEN_HOME=/opt/apache-maven-3.9.9 export PATH=$MAVEN_HOME/bin:$PATH
- 保存后执行
source /etc/profile或source ~/.bashrc。 - 使用
mvn -v验证,看到Maven home和Java version即可。
三平台配置路径与命令对比表
| 对比项 | Windows 10/11 | macOS | Linux |
|---|---|---|---|
| 配置载体 | 系统变量Path | ~/.zshrc |
/etc/profile |
| 变量写法 | MAVEN_HOME + %MAVEN_HOME%\bin |
export + $MAVEN_HOME/bin |
export + $MAVEN_HOME/bin |
| 验证命令 | mvn -v |
mvn -v
|
mvn -v |
| 常见坑 | 漏写\bin |
写错zsh/bash文件 | 忘记source |
maven环境变量配置不生效?按这个顺序排查最省时间
配置完环境变量还提示找不到mvn,大概率不是因为配置难,而是某个小环节漏了,按下面顺序检查,多数情况下十分钟内能解决。
排查项一:Path里有没有真正指向bin目录
- 在CMD执行
where mvn。 - 如果返回“找不到”,说明Path没配对。
- 打开系统变量Path,确认条目是
%MAVEN_HOME%\bin,而不是%MAVEN_HOME%。 - 确认MAVEN_HOME变量值里没有多余引号或末尾反斜杠。
据Apache Maven官方文档,mvn脚本执行前还会读取JAVA_HOME,因此Java环境是前置条件,如果Java没配好,mvn即使能找到,也会出现JAVA_HOME is not defined correctly一类错误。
排查项二:旧Maven变量和新配置冲突
- Windows同时存在用户变量Path和系统变量Path时,会拼接加载,但顺序可能导致旧版本先被找到。
- 搜索用户变量和系统变量里的
MAVEN_HOME、M2_HOME、maven相关旧路径。 - 删除旧变量,或统一指向同一个Maven目录。
- 如果之前用过IDE自带的Maven,也可能在用户目录留下
.m2配置,但一般不影响全局命令。
排查项三:终端窗口不是新开的
- 环境变量修改后,已打开的CMD或PowerShell不会自动刷新。
- 必须关闭旧窗口,重新打开。
- IntelliJ IDEA、Eclipse等IDE需要完全退出再启动,才会读取新的系统环境变量。
完整路径能跑通但mvn仍提示找不到
- 执行
echo %MAVEN_HOME%和echo %Path%,确认变量真的写入。 - 用完整路径调用测试:
D:\dev\apache-maven-3.9.9\bin\mvn -v。 - 完整路径能跑通,说明Maven本身没问题,只是Path未生效。
- 极少数旧Windows系统需要注销或重启,资源管理器刷新后才能全局识别。
配置好maven环境变量后,命令行该怎么用

环境变量只是让终端能找到mvn,配完之后,命令行下的Maven工作流才刚开始。
第一次跑通mvn clean compile
- 进入一个已有
pom.xml的项目目录。 - 执行
mvn clean compile测试编译。 - 执行
mvn package打包。 - 第一次运行会下载依赖,耗时较长,这是正常现象,不是配置出错。
国内镜像与本地仓库的约定
- Maven默认从中央仓库下载,国内访问较慢,可以在
conf/settings.xml中配置简米云镜像。 - 本地仓库默认在用户目录
.m2/repository。 - 如果C盘空间紧张,可在
settings.xml中修改localRepository路径。 - 镜像和本地仓库不属于环境变量配置,但经常和mvn配置一起出现,提前了解能少踩坑。
不管Windows还是macOS、Linux,mvn配置环境变量的核心都是把bin目录交给Path,让终端能找到mvn命令,配完用mvn -v验证,失败就查Path、旧变量、终端缓存,命令能识别,后面的编译打包才谈得上效率。
Q&A:mvn配置环境变量相关问题
maven环境变量配置后mvn不是内部命令如何解决?
解决顺序是:先执行where mvn确认命令是否真的不在路径里;再检查Path条目是否为%MAVEN_HOME%\bin;最后关闭旧终端重新打开,完整路径能执行而短命令不行,基本就是Path没有刷新或写错。
maven环境变量配置收费吗?
Maven是Apache开源项目,下载、配置mvn环境变量、命令行使用都不收费,网上部分“Maven环境变量配置教程”收费内容只是知识付费形式,软件本身没有任何授权费用。
不配置maven环境变量可以直接用mvn吗?
可以,直接用Maven安装目录下的完整路径调用,例如D:\dev\apache-maven-3.9.9\bin\mvn -v,或者使用IDE自带的Maven插件,但如果需要在任意终端位置使用mvn命令,配置环境变量是唯一稳定的做法。

