设置操作系统环境变量后,Apache Maven 安装“'mvn' 不被识别为内部或外部命令”?

Posted

技术标签:

【中文标题】设置操作系统环境变量后,Apache Maven 安装“\'mvn\' 不被识别为内部或外部命令”?【英文标题】:Apache Maven install "'mvn' not recognized as an internal or external command" after setting OS environmental variables?设置操作系统环境变量后,Apache Maven 安装“'mvn' 不被识别为内部或外部命令”? 【发布时间】:2012-08-07 01:46:39 【问题描述】:

我已按照 Windows XP 的官方安装说明here。但有时当我执行mvn --version 时,我会收到错误消息,

'mvn' 未被识别为内部或外部命令

我什至重新启动了我的机器几次,但操作系统并不总是能识别 maven 命令。但是当我执行cd %M2_HOME%cd %M2% 时,它会将我带到安装目录。我还确保将用户变量 M2 添加到 Path 系统变量中。

那么,什么给了?

【问题讨论】:

我也遇到了同样的问题,但是将 M2 设置为“系统变量”而不是“用户变量”解决了它 @Pshemo,如果您将您的评论作为答案,我会接受。你的建议奏效了,谢谢! :D 也许有人应该让 Apache 知道......我想很多人最初都会被这个绊倒。 确保下载“二进制 tar.gz”版本。我有同样的问题,并意识到我下载了错误的。 我遇到了同样的问题。但是在将系统变量名称从“M2_HOME”更改为“MAVEN_HOME”后它得到了解决 确保“路径”变量中没有任何语法错误。在我的情况下,我在 M2_HOME 之前有一个额外的 ",我删除了它并且它起作用了。 【参考方案1】:

解决方法是将M2user 变量移动到 system 变量

【讨论】:

这不是用户与系统变量的问题。我个人只在工作环境中使用用户变量。 @TehHippo 是的,我的回答不是解释问题,而是显示解决方法(这就是为什么我首先将其发布为评论)。但我对它如何使用用户变量为您工作非常感兴趣。也许这是操作系统的问题。我正在使用 Win7 64 位 ult。您使用的是什么操作系统? Same here :) 在我自己的帐户下配置环境变量并能够运行 Maven 没有问题。我也觉得它更干净,因为其他人可能会使用这台 PC,而且他们不需要我的 Maven 设置。他们可能也有自己的。 在我的情况下,我还必须将 M2_HOME 移动到系统变量作为解决方法。我使用的是 Windows 7 Pro sp1 64 位 正如@eddyed 所说,我使用的是 Win 8 64 位系统,必须将 M2 和 M2_HOME 都移动到系统变量中才能正常工作。【参考方案2】:

您的 PATH 中似乎不存在 maven。将绝对的 maven home\bin 位置添加到您的 PATH。

【讨论】:

正如我上面所说,“我还确保将用户变量M2 添加到Path 系统变量中 我也有这个问题,但是添加了绝对路径而不是M2,它没有问题。 我不认为“用户变量”可以添加到系统变量中。后者将首先设置。例如,如果其他用户登录怎么办 - 如果仅为您定义 M2,PATH=...%M2%/bin 会为他们解析什么? 没问题,不在PATH本身中使用任何变量。【参考方案3】:

我遇到了同样的问题,重新启动命令提示符,然后检查 try mvn --version。它可能一直在设置并工作,但需要重新启动命令提示符才能访问新的系统变量。

【讨论】:

【参考方案4】:

    下载apache-maven-3.3.9-bin.zip文件并解压。

    然后设置系统变量M2_HOME = B:\sql software\apache-maven-3.3.9或视情况而定

    同时设置变量M2 = %M2_HOME%\bin

    打开CMD,写mvn

我解决了谢谢

【讨论】:

【参考方案5】:

只需添加一些为我解决问题的更多信息:

确保 %M2% 和 %M2_HOME% 变量末尾没有分号 (;)。仅当该路径中有多个位置时才应使用此方法,但情况并非如此; 另外,请确保在“Path”变量中,各个路径之间没有任何空格,以分号分隔。

感谢 Pawan Valecha 和 Abhijeet Sawant 的提示。

【讨论】:

【参考方案6】:

这是我做错了什么:

1) 确保它的 NOT 在 [C:\Program Files (x86)] 它应该在 [C:\Program Files] 我不是 100% 如果这可能会破坏它,但是你永远都不会知道。

2) 我需要在环境变量中做 3 件事才能使其正常工作

    创建这样的用户变量 [ M2 = %M2_HOME% ]​​i> 创建这样的用户变量 [M2_HOME = C:\Program Files\Apache Software Foundation\apache-maven-3.2.2] 编辑 PATH 到 [What ever is already in here +];%M2%

【讨论】:

【参考方案7】:

同样的问题。

我通过以下方式解决了它:

    添加 C:\Program Files\apache-maven-3.3.9\bin;到路径 以管理员身份运行cmd

然后mvn --version 工作。

【讨论】:

【参考方案8】:

Maven应该通过以下方式配置(可以是用户变量或系统): - M2:%M2_HOME%\bin - M2_HOME:(你的目录到 Maven 的根目录,而不是 \bin) - 路径:%PATH%;%M2%

然后您应该能够从命令提示符运行mvn

【讨论】:

【参考方案9】:

我遇到了这个问题,发现由于某种原因,环境变量根本没有被解析(执行cd %M2%告诉我当前目录中没有文件夹%M2%)。最后添加到 Maven 可执行文件的显式路径对我有用:

C:\apache-maven-3.1.0\bin

【讨论】:

【参考方案10】:

您需要设置 M2 和 M2_HOME。 我遇到了同样的问题,问题是我在分号后的 PATH 变量中添加了一个额外的空格。刚刚从路径中删除了空间并且它起作用了。 (Windows 7 机器)

【讨论】:

【参考方案11】:

安装步骤

    下载二进制 zip 存档或 tar.gz。 复制到相应的文件夹中。示例 - C:\apache-maven-3.3.9 添加变量(用户或系统)M2_HOME = C:\apache-maven-3.3.9 添加变量(用户或系统)MAVEN_HOME = C:\apache-maven-3.3.9 使用 C:\apache-maven-3.3.9\bin 更新变量 PATH 打开 CMD 并输入 mvn -v 或 mvn --version 它应该给出以下响应

C:\Users\XXXXXXX>mvn --version 阿帕奇 Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22:11:4 7+05:30) Maven 主页:C:\apache-maven-3.3.9 Java 版本:1.8.0_40,供应商:甲骨文公司 Java 主页:C:\Program Files\Java\jdk1.8.0_40\jre 默认语言环境:en_US,平台编码:Cp1252 操作系统名称:“windows 8”,版本:“6.2”,arch:“amd64”,家族:“dos”

**在 CMD 上使用 echo %M2_HOME% 确保所有变量的值正确

【讨论】:

【参考方案12】:

我通过在用户变量(包括PATH 变量)下创建所有变量来解决这个问题。 这是因为系统变量不会“翻译”用户变量。 所以如果你只想在你的账户中使用maven,你需要添加另一个PATH变量作为用户变量,而不是系统变量。

【讨论】:

【参考方案13】:

正如其他人所做的那样,创建新的系统变量 M2 和 M2_HOME 解决了这个问题。只是在我的 Windows XP 机器上创建用户变量 M2 和 M2_HOME 导致无法从命令行识别 maven。然后我删除了用户变量,创建了系统变量的副本,这一切都变得生动起来。

这是带有 XP sp3 的 apache-maven-3.0.4。 所以:http://maven.apache.org/download.cgi 中的说明似乎不正确。

【讨论】:

【参考方案14】:

以管理员身份运行命令提示符为我解决了这个问题。我不必在系统变量下移动 M2 或 M2_HOME。

【讨论】:

【参考方案15】:

很可能你没有正确安装 maven。 使用this 下载maven。下载最新的(Binary tar.gz) 文件。它对我有用。

【讨论】:

【参考方案16】:

我遇到了同样的问题,我的语法没有问题,但是当我将 M2M2_HOMEJAVA_HOME 环境变量从用户移动到系统时,它开始工作。路径变量保持不变。

【讨论】:

【参考方案17】:

将您的 Maven bin 路径添加到系统变量,如下所示

前往

> Enviornment Variables > set Path=D:\apache-maven-3.2.1\bin

或者如果路径已经设置,则在路径后面附加";"

重启命令并尝试

【讨论】:

【参考方案18】:

运行 maven 赢得 7

    将 apache-maven 解压到目录 C:\Program Files\apache-maven-3.2.1 进入【环境变量】设置【路径】C:\Program Files\apache-maven-3.2.1\bin; 打开 cmd 并输入 C:\Program Files\apache-maven-3.2.1> mvn -version

【讨论】:

【参考方案19】:

我在 Windows 7 上遇到了类似的问题。起初我在用户变量下设置了 M2、M2_HOME,但是当我回显 %PATH% 时,我没有看到 PATH 下列出的 maven bin 目录。然后我在系统变量下设置 M2,M2_HOME 并且它工作。

【讨论】:

【参考方案20】:

从用户变量中删除 M2 和 M2_HOME 并移至系统变量。这样就可以解决问题了

【讨论】:

【参考方案21】:

遇到同样的问题,

mvn --version

工作但

maven --version

没有。无论如何,我更喜欢使用'mvn'而不是'maven',所以一切都很好。我也注销/登录以确保。

【讨论】:

【参考方案22】:

确保您没有重命名位于M2 环境变量路径中的某个文件夹。如果您有,请相应地更改您的M2 和/或M2_HOME

M2M2_HOME 是系统变量还是用户变量都没有关系,只要您使用环境变量所在范围内的同一用户登录即可。

【讨论】:

【参考方案23】:

我已经通过在用户变量中添加路径变量作为%JAVA_HOME%\bin;%M2_HOME%\bin;来解决它

【讨论】:

【参考方案24】:

接受的答案无济于事,但下面的简单步骤修复它!

在系统路径下: 不用M2%,用%M2_HOME%\bin,就这么简单。

注意,我的 %M2_HOME% 指向的是 %MV3_HOME% 而不是实际的绝对路径 bcos 我安装了多个版本的 maven 并试图变得聪明(在同一个盒子上为不同的项目切换 maven 版本)。

【讨论】:

【参考方案25】:

临时解决方法是设置终端本身的路径。之后为我工作。以管理员身份运行也可以。在我的例子中,M2 和 M2_HOME 都已经设置为系统变量。

【讨论】:

【参考方案26】:

我在执行命令 mvn -version 时遇到了同样的问题;但是,我检查了我还在环境变量设置中设置了 mvn 选项,这在命令提示符下给了我一些堆内存问题。所以,我删除了我设置的 maven 选项,然后它对我来说很好。

【讨论】:

【参考方案27】:

我遇到了同样的问题,然后我关闭并重新打开 cmd.exe 以使 mvn -v 传播到我的命令提示符。

如果在您设置变量时 cmd 处于打开状态,则它们在该会话中将不可用。

【讨论】:

【参考方案28】:

假设你已经为 maven 创建了如下的变量路径:

在系统路径下,点击new,然后编辑如下:

变量名:MAVEN_HOME

变量值:C:\Program Files\apache-maven-3.5.3\bin

然后继续这些说明:

在系统路径下,点击编辑和添加更新变量路径:

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

紧接着:

C:\Program Files\Java\jdk\1.8.0_161\bin;

记得在\bin 之后添加分号;,然后运行您的cmd 提示符并输入:

mvn -v 

【讨论】:

以上是关于设置操作系统环境变量后,Apache Maven 安装“'mvn' 不被识别为内部或外部命令”?的主要内容,如果未能解决你的问题,请参考以下文章

Maven 下载与安装

Java学习笔记 apache-maven安装

maven的安装与配置

Maven下载与安装

maven下载与安装以及环境变量的配置

maven总结