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

时间:2013-09-30 09:36:00

标签: maven

我发现mvn命令未被识别为内部或外部命令。

我已经设置了M2_HOME,JAVA_HOME并将%M2_HOME%/ bin添加到路径变量中。所有都是系统变量。仍然遇到同样的问题。

回显显示正确路径的变量。

Maven之路:C:\apache-maven-3.1.0\apache-maven-3.1.0

M2_HOME:C:\apache-maven-3.1.0\apache-maven-3.1.0

路径:Other things,C:\Program Files (x86)\Java\jdk1.7.0_40\bin,C:\apache-maven-3.1.0\apache-maven-3.1.0\bin

我已经重新启动了两次计算机。

24 个答案:

答案 0 :(得分:14)

在设置M2_HOME(指向Maven basedir, NOT bin dir)和PATH(PATH=%M2_HOME%\bin;%PATH%后重新启动计算机)。

然后做:

dir %M2_HOME%\bin\mvn*

如果有.bat文件,它应该在Windows下运行,因为它似乎正在找到它。如果没有,那么您的路径不正确,您需要确保您的%PATH%变量确实指向Maven的正确路径。

确保为操作系统使用正确的斜杠。在Windows下,它们是\

答案 1 :(得分:10)

将整个maven路径写入环境 PATH 变量。

示例:

C:\Program Files\apache-maven-3.2.3\bin;

我的PATH变量未正确阅读%M2%%M2_HOME%\bin,因此我写了PATH变量的完整路径。

<强>工作。

答案 2 :(得分:9)

右键点击我的电脑&gt;&gt; 属性&gt;&gt; 高级系统设置&gt;&gt; 将显示 系统属性 窗口 在高级&gt;&gt; 环境变量

点击新建以设置环境变量

变量名称: JAVA_HOME 变量值: C:\ Program Files \ Java \ jdk1.8.0_121

变量名称: M2 变量值:%M2_HOME%\ bin

变量名称: M2_HOME 变量值: C:\ Program Files \ Apache Software Foundation \ apache-maven-3.5.0

变量名称:路径 变量值:%M2_HOME%\ bin

然后点击Ok,好的,好的。 现在重新启动命令提示符并再次使用“mvn -version”检查以确认mvn正在运行,您也可以重新启动系统。

正在工作......享受:)

由于 Sandeep Nehte

答案 3 :(得分:3)

这对我有用:

https://maven.apache.org/download.cgi下载apache-maven-3.3.9-bin.tar.gz文件

在c:\ programfiles

下复制该文件夹

3组变量如下:   M2_HOME ----- C:\ Program Files \ apache-maven-3.3.9   M2 ----- C:\ Program Files \ apache-maven-3.3.9

将Path变量添加到:; C:\ Program Files \ apache-maven-3.3.9 \ bin

然后以系统管理员身份运行cmd

它有效。

答案 4 :(得分:2)

您是否尝试在系统变量中引用用户变量?尝试echo %path%,M2应该已完全展开,以显示Maven目录的文件路径。如果没有,那就是问题。

要修复它,您应该创建一个名为PATH的用户变量,并将%M2%引用添加到那里。

答案 5 :(得分:1)

  1. 尝试使用echo %path%,如果此选项未将您的M2_HOME和其他变量值显示为目录路径,则创建一个新的环境变量,例如PATH ,并指定如下:

    PATH=%JAVA_HOME%\bin;%M2_HOME%\bin
    
  2. 在变量path=.....;%PATH%

  3. 中添加此内容
  4. 现在打开一个新的cmd,然后尝试echo %path%
    它将显示所有系统路径

  5. 现在你可以检查mvn -version如果没有尝试重新启动系统,它将解决问题

    P.S。根据doc,你应该将你的zip发行版扩展到 C:\ Program Files \ Apache Software Foundation 。但理想情况下,它无关紧要

答案 6 :(得分:1)

尝试%M2_HOME%\bin\而不是/

答案 7 :(得分:1)

Windows 10-

  1. 添加新变量“ M2_HOME”-

enter image description here

  1. 更新变量“路径”- enter image description here

  2. 在cmd上验证- enter image description here

答案 8 :(得分:1)

打开命令提示符As&#34;以管理员身份运行&#34;并尝试。

答案 9 :(得分:1)

我遇到了这个问题,这个问题让我忙碌起来,而且有时会因为安静而烦恼。在完全正确地设置所有必需的环境变量后,我遇到了问题(mvn无法识别)。所以通过这里的一个响应,我切换到另一个版本的maven并解决了这个问题。

我不完全相信它为什么会这样工作,然后我解压缩了有问题的版本和更新的env-vars,使其工作。

问题是当我最初从zip中提取文件时,我稍微修改了目录结构。当你解压缩拉链时,比如 apache-maven-Xxx-bin.zip ,它会创建文件夹结构为 - &#34; apache-maven-3.5.0-bin \ apache-maven-3.5 0.0 ...&#34;

在我的第一次尝试中,我通过删除apache-maven-3.5.0-bin文件夹并将apache-maven-3.5.0结构文件夹一个来修改此结构。这导致了这个问题。

答案 10 :(得分:1)

我有一个愚蠢的评论,但其他人会遇到这个问题。当我尝试放入Delayed::Job.where("handler LIKE '%name: #{name}%'") 时遇到了同样的错误,我发现我不得不将其更改为./mvnw clean package,从此以后我过着幸福的生活。

答案 11 :(得分:1)

在环境变量中添加路径并以普通用户身份在命令提示符下运行它之后,我仍然面临着同样的问题。

然后,我打开命令提示符并尝试以“ 以管理员身份运行”运行,这样我就可以下载该项目的所有软件包。

答案 12 :(得分:1)

尝试首先通过命令提示符设置maven的路径。

<div class="parent"> <img src="https://i.stack.imgur.com/ymxaR.png"> <div> <p>(1)I'm in the middle of the image! thanks to CSS! hooray!</p> <p>(2)I'm in the middle of the image! thanks to CSS! hooray! (3) I'm in the middle of the image! thanks to CSS! hooray!</p> <p>(4)I'm in the middle of the image! thanks to CSS! hooray! (5) I'm in the middle of the image! thanks to CSS! hooray!</p> <p>(6)I'm in the middle of the image! thanks to CSS! hooray! (7) I'm in the middle of the image! thanks to CSS! hooray!</p> </div> <div> <p>(1)I'm in the middle of the image! thanks to CSS! hooray!</p> <p>(2)I'm in the middle of the image! thanks to CSS! hooray! (3) I'm in the middle of the image! thanks to CSS! hooray!</p> <p>(4)I'm in the middle of the image! thanks to CSS! hooray! (5) I'm in the middle of the image! thanks to CSS! hooray!</p> <p>(6)I'm in the middle of the image! thanks to CSS! hooray! (7) I'm in the middle of the image! thanks to CSS! hooray!</p> </div> </div>从批处理文件的基本窗口打开setpath.bat

通过cmd设置路径后,可以使用其余的maven命令。

答案 13 :(得分:0)

我也遇到了这个问题。 但我面临的问题是由于 Maven 存储在系统上的位置名称。 该路径确实包含空格,因为系统无法到达导致此问题的路径。 当我将 Maven 移动到一个不包含任何空格的位置时,这个问题就解决了。

答案 14 :(得分:0)

对于Windows,您需要执行以下操作:

  1. Windows,然后输入env

  2. 打开编辑环境面板

  3. 点击环境变量

  4. 在“系统变量”部分中,双击“路径”

  5. 在对话框中的“路径”下创建一个系统变量 如下所示->

    MVN_HOME:C:\ Users <用户名> \ Documents \ Project \ Software \ apache-maven-3.6.3 \ bin

  6. 打开一个新的命令提示符,然后单击mvn,现在应该可以了。

答案 15 :(得分:0)

对我而言,由于我在“用户变量”中编辑Path变量并在“系统变量”下添加它使其工作,因此无效。希望它有所帮助。

答案 16 :(得分:0)

一个最重要且经常被忽视的方面是%MAVEN_HOME%\ bin或%M2_HOME%\ bin应该是%PATH%环境变量中的第一个。

答案 17 :(得分:0)

我正在使用Maven 3+版本。在我的情况下一切都很好。但是在将M2_HOME与bin目录一起添加时,我错过了&#39; \&#39;在末尾。 以前它就像:%M2_HOME%\ bin,它抛出了mvn无法识别的错误。 添加&#34; \&#34;最后,mvn开始正常工作。我想&#34; \&#34;充当下一个文件夹的指针。 &#34;%M2_HOME%\ bin中\&#34;应该工作,如果你错过了它。

答案 18 :(得分:0)

我遇到了类似的问题。帮我解决类似问题的文章是MKyong,在这里:**** https://www.mkyong.com/maven/how-to-install-maven-in-windows/ **** 在maven的路径中包含包含'bin','boot','conf','lib'等文件夹的文件非常重要。例如,在我的情况下,正确的路径是: C:\ Program Files \ Apache Software Foundation \ maven \ apache-maven-3.5.0-bin \ apache-maven-3.5.0

答案 19 :(得分:0)

我有同样的错误,但我的问题是我有以下内容:

M2_HOME = C:\ Program Files(x86)\ Apache Software Foundation \ apache-maven-2.2.1;

这意味着我的PATH =%M2_HOME%\ bin; (等)

...成为C:\ Program Files(x86)\ Apache Software Foundation \ apache-maven-2.2.1; \ bin

即。分号是它不应该的地方。

我发现这是因为Michael Ferry建议使用&#39; ECHO%PATH%&#39;看看实际的PATH输出是什么。

答案 20 :(得分:0)

在您的Environement变量中:

新系统变量:

M2_HOME Your mvn directroy "C:\......\bin"

新用户变量:

M2 %M2_HOME%

通过添加CLASSPATH

来修改%M2%

最后打开cmd并写

path=%CLASSPATH%

享受

答案 21 :(得分:-1)

我遇到了同样的问题。但只需在设置Maven路径后重新启动计算机即可解决问题。

变量名称:M2_Home 变量值:C:\ Apache \ apache-maven-3.3.9

变量名称:路径 变量值:C:\ ProgramData \ Oracle \ Java \ javapath;%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \;%JAVA_HOME%\ bin \;%M2_HOME%\ bin中\

答案 22 :(得分:-1)

如果您已经设置了 JAVA_HOMEM2_HOME(或在我的情况下为 MAVEN_HOME)环境变量并将 \bin 文件夹添加到 { {1}} 环境变量但仍然无法正常工作,那么此解决方案可能适合您。

确保您已按正确顺序设置变量,您的 Path 文件夹应添加在 %JAVA_HOME%\bin 之前,就像显示的图像

right order of env variables

wrong order of env variables

答案 23 :(得分:-2)

您已经写了三条路径。第一个路径(maven的路径)应该指向bin目录。

Maven之路:C:\apache-maven-3.1.0\apache-maven-3.1.0\bin;

下面是对的。应该纠正上面的路径。

M2_HOME:C:\apache-maven-3.1.0\apache-maven-3.1.0;

PATH: Other things,C:\Program Files (x86)\Java\jdk1.7.0_40\bin,C:\apache-maven-3.1.0\apache-maven-3.1.0\bin;