"mvn"未被识别为内部或外部命令,可执行程序或批处理文件。

24

也许这个问题之前已经被问过,但是我发现了一种非常奇怪的错误。 当我从bin目录运行mvn --version命令时,它会给出版本和其他信息。然而,当我在bin目录之外运行它时,它会抛出异常。下面提到了两种结果。

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin>mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 19:21:
28+0530)
Maven home: C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_25\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5>mvn --version
'mvn' is not recognized as an internal or external command,
operable program or batch file.

我在用户变量中设置了JAVA_HOME,系统环境变量中设置了M2_HOME、M2。这些变量以及%path%的输出结果如下:

C:\Users\SAHILBHALLA>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_25

C:\Users\SAHILBHALLA>echo %M2%
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5\bin

C:\Users\SAHILBHALLA>echo %M2_HOME%
C:\Program Files\apache-maven-3.0.5-bin\apache-maven-3.0.5

C:\Users\SAHILBHALLA>echo %path% 
C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPow erShell\v1.0\;C:\Program Files\Java\jdk1.7.0_25\bin;.; 

告诉我我做错了什么,我应该怎么做才能从中恢复过来?


2
你把那些环境变量放到 PATH 里了吗? - Rohit Jain
1
mvn.exe的位置是否在你的%PATH%中?例如,你第二次调用mvn实际上是在比第一次更高的目录中进行的,所以我猜测它不在路径中。尝试使用bin\mvn作为命令。 - Marc B
如果我使用 bin\mvn ,那么我将无法从任何其他位置(例如我的工作区)访问它。 - rahul
请在此处查看答案:https://dev59.com/mGw05IYBdhLWcg3weBvu#36601957 - Phuong
你可以参考这个相关的问答。 请注意(至少对于最近的Windows),用户环境变量和系统环境变量(如path)之间存在差异。此处有截图 - Cadoiz
18个回答

1

首先,在用户变量下创建新的“路径”变量(请注意,新安装的Windows操作系统不会将路径变量创建为用户变量,只会创建为系统变量)。 然后,将%M2%(指向Maven目录/ bin)附加到(新创建的)用户路径变量中。之后重新启动cmd窗口,就可以轻松解决问题了。


1

1

这里是适用于Windows、Unix和Mac操作系统的最佳Maven环境设置教程。

但在最后,您需要将PATH变量的值设置为";%M2_HOME%\bin"而不是"%M2%",因为PATH变量不能使用"%M2%"来缩减该值。


1

前往环境变量并粘贴以下内容:

在系统变量下: 步骤1: 新建 --> 新用户变量 1. 变量名:MAVEN_HOME 2. 变量值:D:\apache-maven-3.5.2

步骤2: 1. 前往路径 --> 粘贴 - %MAVEN_HOME%\bin


1
尝试以下步骤...
cmd:mvn -version
进入apache-maven文件夹 > bin
复制路径并转到系统属性 > 环境变量 > 系统变量
路径 > 编辑 > [粘贴文件路径]
接下来重新启动您的计算机。

https://youtu.be/RQ_Z859Hd7Q


0

我更喜欢将路径添加到~/.bashrc中。

使用vim打开~/.bashrc文件,然后添加以下行:

export M2_HOME=/usr/local/apache-maven-your_maven_path&version
export M2=$M2_HOME/bin

4
我相信大多数人会更喜欢将内容添加到.bashrc文件中,但很明显他正在使用Windows系统,因此他可能没有Bash工具。 - thekbb
抱歉,我没有注意操作系统 :P - Freya Ren

0

我在Windows 10上做了所有这些,但仍然遇到了问题。最后发现,Maven主文件夹的路径并不是许多答案中所期望的那样,而是/apache-maven-3.6.3-bin/apache-maven-3.6.3。一旦我为系统变量和PATH变量都更正了这个问题,它就可以工作了。简而言之,如果您已按照指示设置环境变量,但仍无法正常工作,我建议您再次检查变量是否确实指向计算机上Maven主文件夹和bin文件夹的确切路径。


0

我喜欢这样做,我用IntelliJ。

C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2023.1.2\plugins\maven\lib\maven3

并且你还需要将这个添加到路径变量中。
点击路径 -> 编辑 -> 新建 -> 然后粘贴它,使其引用刚刚创建的内容。

%M2_HOME%\bin

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