我尝试将Maven安装到Windows 7但效果不佳。一些基本信息:
Maven安装目录:C:\Program Files\Apache Software Foundation\apache-maven-3.0.4
系统变量“M2_HOME
”:C:\Program Files\Apache Software Foundation\apache-maven-3.0.4\
系统变量“Path
”:%M2_HOME%apache-maven\src\bin;%JAVA_HOME%\bin
如果我在命令路径中运行mvn --version
,则会收到错误消息:
请在您的环境中设置
M2_HOME
变量以匹配Maven安装的位置
所以目前mvn
的子目录没有按照说明%M2_HOME%\bin
设置。如果我用那个替换%M2_HOME%apache-maven\src\bin
,我得到:
mvn未被识别为内部或外部命令,可操作程序或批处理文件
在Maven安装目录(或zip文件)中,\bin
中没有apache-maven-3.0.4
文件夹,我想知道是否应该有一个文件夹?
我是Maven的新手,希望你们能帮忙。
顺便说一句,Java命令可以在任何目录下运行,所以我认为这不是问题所在,但我不能确定。
答案 0 :(得分:37)
在M2_HOME
- 设置C:\apache-maven-3.0.4
,即没有bin
的路径。
在PATH
- 设置%M2_HOME%\bin
,即路径为bin
。
答案 1 :(得分:18)
如果您下载的软件包apache-maven-3.3.9不包含bin文件夹,则下载错误。你必须download a zip file which contains bin,boot,conf,lib文件夹否则出错了。下载的文件大小应为4.8 MB。您可以通过md5或SHA1校验和检查文件。
答案 2 :(得分:18)
在3.3.1 * .bat文件中消失,只剩下* .cmd文件。 .CMD与.BAT相同,有些软件期望它们。我已将.CMD重命名为.BATs,以使其在Netbeans下运行。它导致“Maven M2_HOME设置为无效目录”。将.BAT复制到.CMD(即两者都在文件夹中)解决了这个问题。
答案 3 :(得分:11)
在我的情况下,设置是正确的:
Windows系统变量:
Windows用户变量:
但即使所有引用都指向最新版本(在我的情况下是3.3.9),当我有两次安装maven时我遇到了同样的问题。在 删除较旧的 版本后,相同的命令识别出maven。
在:
maven -v
ERROR: M2_HOME is set to an invalid directory.
M2_HOME = "C:\dev\software\apache-maven-3.3.9"
Please set the M2_HOME variable in your environment to match the
location of the Maven installation
在:
maven -v
Apache Maven 3.3.9
Maven home: C:\dev\software\apache-maven-3.3.9
Java version: 1.7.0_51, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_51\jre
答案 4 :(得分:5)
您需要下载名为“Binary zip”的Maven文件。例如:http://mirrors.digipower.vn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip
答案 5 :(得分:2)
我在计算机上遇到了同样的问题,我解决了这个问题:
C:\maven
C:\maven
中的M2_HOME
,%M2_HOME%\lib
中的M2
和%M2%
中添加的PATH
它有效!
答案 6 :(得分:1)
刚才我遇到了同样的问题。
就我而言,问题是PATH
未正确设置为包含%M2_HOME%\bin
。
一旦设置正确,问题就解决了。
当您遇到此类问题时,请在命令行上打印PATH
的值,以确保它正确地获取值。
答案 7 :(得分:1)
对我来说,PATH变量有旧版本的maven。所以我更新了它。我应该使用%M2_HOME%,但我已经说明了这条道路。
答案 8 :(得分:1)
摆脱env变量M2_HOME。它不被maven 3使用,事实上,它混淆了它。如果您在路径中使用过它,那么要么明确地定义maven bin的路径,要么将其更改为其他东西 - 比如M3_HOME。
答案 9 :(得分:0)
接下来的步骤后所有成功。
在4个变体的http://maven.apache.org/download.cgi页上需要下载 二进制 文件。
设置环境变量(来自@JamesB的提示 - https://stackoverflow.com/a/13093358/3941340):
JAVA_HOME = C:\ Program Files \ Java \ jdk1.6.0_35
MAVEN_HOME = d:\ SOFTWARE \ Apache的行家-3.0.4
PATH =%PATH%;%MAVEN_HOME%\ bin中;%JAVA_HOME%\ bin中
答案 10 :(得分:0)
在搜索路径中显示的另一个目录中有旧版本的MVN。删除旧版本,一切正常。使用Windows文件搜索扫描驱动器以查找" mvn"的所有实例。找到旧版本。
答案 11 :(得分:0)
将整个bin位置添加到“PATH”环境变量 例如:C:\ Program Files \ Apache Software Foundation \ apache-maven-3.0.4 \ bin
不需要M2_HOME,M2。它为我工作
Microsoft Windows [版本10.0.14393] (c)2016 Microsoft Corporation。保留所有权利。
C:\ Users \ XXXX> mvn -version Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T22:11:47 + 05:30) Maven主页:C:\ Program Files \ Apache Software Foundation \ apache-maven-3.3.9 \ bin .. Java版本:1.8.0_91,供应商: Oracle Corporation Java home:C:\ Program Files \ Java \ jdk1.8.0_91 \ jre 默认语言环境:en_US,平台编码:Cp1252操作系统名称:“windows 10“,版本:”10.0“,arch:”amd64“,家庭:”dos“
答案 12 :(得分:0)
检查不同maven位置的系统变量M2_HOME和PATH。
答案 13 :(得分:0)
在您的帐户的环境变量中设置'M2_HOME'和'PATH',从系统环境变量中删除'PATH'。
答案 14 :(得分:0)
有可能在并行位置安装另一版本的maven。 在这种情况下,删除不需要的路径并重置M2_HOME的相应路径。
答案 15 :(得分:0)
快速解答
基于与已安装的不同Maven版本相关的M2_HOME使用问题,并且为了简化操作,M2_HOME的用法已删除,不再受支持。 Windows用户的另一个重要更改:%HOME%的用法已替换为%USERPROFILE%
更详细的答案
您所观察到的一直是行家的问题。在同一目录中安装两个不同版本时,将检测到较旧的版本,而未检测到较新的版本。
在发布Maven 3.3.9之后,Eclipse Aether项目被淘汰,代码库被迁移到Apache Maven项目。 3.4.0发行版的最初目标是,在迁移到Apache Maven项目后,用完全相同的代码替换Aether,然后继续对解析器代码以及Maven的其他区域进行错误修复。这从来没有像预期的那样发生,因此决定永久刻录3.4.x版本。切换到3.5带来了这些更改