17

我尝试将 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 命令可以从任何目录工作,所以我认为这不是这里的问题,但我不能确定。

4

16 回答 16

37

In M2_HOME-setC:\apache-maven-3.0.4即没有bin. In PATH- 设置%M2_HOME%\bin,即bin在路径中。

于 2013-03-15T08:57:07.927 回答
19

如果您下载的包 apache-maven-3.3.9 不包含 bin 文件夹,则您的下载错误。您必须下载一个包含bin、boot、conf、lib 文件夹的 zip 文件,否则会出现问题。下载的文件应该有大约 4.8 mb 大小。您可以通过 md5 或 SHA1 校验和检查文件。

于 2012-12-25T22:24:53.040 回答
17

在 3.3.1 中 *.bat 文件消失了,只剩下 *.cmd 文件。.CMD 与 .BAT 相同,某些软件需要它们。我已将 .CMDs 重命名为 .BATs 以使其在 Netbeans 下运行。它导致“Maven M2_HOME 设置为无效目录”。将 .BAT 复制到 .CMD(即两者都在文件夹中)解决了这个问题。

于 2015-04-25T21:12:14.447 回答
14

在我的情况下,设置是正确的:

Windows 系统变量:

  • M2 C:\dev\software\apache-maven-3.3.9\bin
  • M2_HOME C:\dev\software\apache-maven-3.3.9

Windows 用户变量:

  • %M2_HOME%\bin

但是当有两次安装 maven 时我遇到了同样的问题,即使所有引用都指向最新版本,在我的例子中是 3.3.9。删除旧版本后,相同的命令识别出 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
于 2016-07-15T14:24:39.063 回答
5

您需要下载名为“Binary zip”的 Maven 文件。例如: http: //mirrors.digipower.vn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.zip

于 2014-02-12T07:09:04.533 回答
2

我的电脑也有同样的问题,我解决了:

  • 我删除了 Maven 目录和 Maven 环境变量
  • 我在https://maven.apache.org/download.cgi上下载了二进制 zip 存档
  • 我解压了C:\maven
  • 我添加了新的环境变量:C:\mavenin M2_HOME%M2_HOME%\libinM2 和add %M2%inPATH

它有效!

于 2015-09-01T14:53:44.253 回答
1

刚才我遇到了同样的问题。在我的情况下,问题是PATH没有正确设置包括%M2_HOME%\bin. 一旦设置正确,问题就解决了。

当您遇到此类问题时,请在命令行上打印 的值,PATH以确保它正确获取值。

于 2015-12-24T11:10:30.720 回答
1

对我来说,PATH 变量有旧版本的 Maven。所以我更新了它。我应该使用 %M2_HOME% 但我已经拼出了路径。

于 2016-03-17T19:00:51.913 回答
1

摆脱环境变量 M2_HOME。maven 3 不使用它,事实上,它混淆了它。如果您在路径中使用过它,那么要么明确定义 maven bin 的路径,要么将其更改为其他内容 - 例如 M3_HOME。

于 2017-11-20T21:00:39.790 回答
0

下一步后一切顺利。

  1. http://maven.apache.org/download.cgi页面上,来自 4 个变体需要下载二进制文件。

  2. 设置环境变量(来自@JamesB - https://stackoverflow.com/a/13093358/3941340的提示):

JAVA_HOME=C:\Program Files\Java\jdk1.6.0_35

MAVEN_HOME=D:\software\apache-maven-3.0.4

PATH=%PATH%;%MAVEN_HOME%\bin;%JAVA_HOME%\bin

  1. 运行mvn -version
于 2015-11-04T15:21:39.163 回答
0

在搜索路径中显示的另一个目录中有旧版本的 MVN。删除了旧版本,一切正常。使用 Windows 文件搜索扫描驱动器以查找“mvn”的所有实例以查找旧版本。

于 2016-07-07T15:01:06.240 回答
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 主页:C:\Program Files\Java\jdk1.8.0_91\jre 默认语言环境:en_US,平台编码:Cp1252 操作系统名称:“windows 10” ,版本:“10.0”,拱:“amd64”,家庭:“dos”

于 2017-02-11T06:55:14.470 回答
0

检查不同 maven 位置中的系统变量 M2_HOME 和 PATH。

于 2017-05-20T11:30:54.057 回答
0

在您的帐户的环境变量中设置“M2_HOME”和“PATH”,从系统环境变量中删除“PATH”。

于 2017-06-09T06:18:32.663 回答
0

有可能在并行位置安装另一个版本的 Maven。在这种情况下,删除不需要的路径并针对 M2_HOME 重置适当的路径。

于 2018-04-10T08:34:16.293 回答
0

快速解答
基于安装的不同Maven版本相关的M2_HOME使用问题,为了简化事情,M2_HOME的使用已被删除,不再支持。Windows 用户的另一个重要变化:%HOME% 的使用已被 %USERPROFILE% 取代

更详细的回答
你观察到的一直是maven的问题。当您在同一目录中安装两个不同版本时,会检测到旧版本,而不会检测到新版本。
Maven 3.3.9 发布后,Eclipse Aether 项目退役,代码库迁移到 Apache Maven 项目。3.4.0 版本的最初目标是在迁移到 Apache Maven 项目后用完全相同的代码替换 Aether,然后继续对解析器代码以及 Maven 的其他区域进行错误修复。这从未像预期的那样发生,因此决定永远烧毁 3.4.x 发布线。切换到 3.5 带来了这些变化

于 2018-08-23T21:09:30.973 回答