“mvn”不被识别为内部或外部命令

43
当我输入命令 mvn --version 时,我遇到了以下错误:

'mvn' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我也按照这里的步骤操作,但仍然无法解决问题。
当我输入命令 echo %M2_HOME% 时,路径被打印为 D:\Program Files\apache-maven-3.0.4;当我输入 'echo %M2%' 时,路径被打印为 D:\Program Files\apache-maven-3.0.4\bin
环境: Windows XP

2
bin文件夹需要设置在你的%PATH%环境变量中。其他变量对于从shell执行批处理没有影响。看一下%PATH% - Andreas Dolk
4
更改路径后,请务必重新启动命令提示符窗口。 - Denis Tulskiy
对我来说,它一直没有起作用,因为我在“用户变量”中编辑了路径变量,并将其添加到“系统变量”下使其起作用。希望能有所帮助。 - shuchita khurana
没有任何一种提到的解决方案能够帮助我。事实证明,我必须修改 PATH 变量并将 %JAVA_HOME%\bin 移动到 %M2_HOME%\bin 之前。 - Daniel Stradowski
3个回答

39

我在我的Windows 7机器上有以下环境变量:

  • JAVA_HOME=C:\Program Files\Java\jdk1.7.0_07

  • M2_HOME=C:\apache-maven-3.0.3

在我的PATH变量中,除了其他的内容外,还包括以下内容:

  • %JAVA_HOME%\bin;%M2_HOME%\bin

我尝试了您使用的嵌套的%M2_HOME%%M2%的方式,也可以工作。


做得很好。请记得检查您是否使用了适当的Java版本,例如JDK 1.8,并且如果您安装了多个JDK,请更新JAVA_HOME以使用适当的JDK。 - Osaid
1
我一直在打“maven -version”,而不是“mvn -version” :P - Mehraj Malik

26

确保您在路径中拥有Maven二进制目录并设置了JAVA_HOME属性。


2
在运行mvn --version时,不需要设置JAVA_HOME。但是,在编译时需要设置它。 - Andreas Dolk
2
是的,Maven二进制目录在指定的路径中。我也同意Andreas_D的看法 :) - Java Questions
@kirschmichel 我已经设置好所有(JAVA_HOME,M2,M2_HOME)并更新了路径,但仍然出现相同的错误“mvn未被识别为内部或外部命令......” - Charan Ghate

12

将Maven目录/bin添加到系统变量中,名称为Path

要检查此设置,可以执行echo %PATH%


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接