为Maven 3.0.4在win7上设置路径

33

我一直在尝试首次在我的Win7机器上安装Maven v3.0.4。我在设置系统环境变量的路径时遇到了问题,我有以下4个条目:

PATH
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_04;C:\Program Files\apache-maven-3.0.4\bin;M2_HOME;%M2%


M2_HOME
C:\Program Files\apache-maven-3.0.4\bin

M2
%M2_HOME%\bin

JAVA_HOME
C:\Program Files\Java\jdk1.7.0_04\bin

当我运行 mvn --version 命令时,出现了以下错误:

JAVA_HOME not found in your environment, please set the JAVA_HOME variable in your environment to match the location of your java installation

输入命令java -version可以显示Java版本,但是我做错了什么吗?PATH环境变量设置正确吗?希望得到帮助,谢谢。

10个回答

55

只需要正确设置Maven二进制文件和JDK路径即可:

set PATH %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.7.0_04\bin;C:\Program Files\apache-maven-3.0.4\bin

此外,您需要正确设置JAVA_HOME,对于Windows系统,可以像这样完成:

SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04

注意要将JAVA_HOME设置为已安装的JDK的根目录而不是bin文件夹。 M2和M2_HOME的设置不是必需的。


16
我完成了所有步骤,但仍无法正常工作。但是当我使用这个命令SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04时,它立即开始工作。 - ρss

24

从命令提示符中运行以下命令:

set M2_HOME= C:\Program Files\apache-maven-3.0.4
set PATH=%PATH%;%M2_HOME%\bin
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04
set PATH=%PATH%;%JAVA_HOME%\bin
cmd.exe
mvn -version

2
这对我来说真是救命稻草。谢谢你。为什么每个设置maven的教程都不能像这个简单任务一样使用cmd,而不是使用gui路线呢?这个答案应该得到更多的赞同票。它快速、简单,而且你不会搞砸它。谢谢Sin2。 - Patrick W. McMahon
将第一行路径(在C:\ ...之前)中的额外空格删除:set M2_HOME = C:\ Program Files \ apache-maven-3.0.4 - Seyyed
谢谢,它有效了!对于通过拖动获取目录的人,请不要忘记删除“”(双引号)。这让我浪费了额外的时间,应该与Sin2的答案完全一样。 - Ebru Güngör

7
环境变量应分别指向每个程序的安装目录,它们对应的bin文件夹应添加到PATH中:
- 确保你的JAVA_HOME指向C:\Program Files\Java\jdk1.7.0_04(或你已安装JDK的其他目录)。 - 将%JAVA_HOME%\bin文件夹添加到你的PATH中(例如,用C:\Program Files\Java\jdk1.7.0_04替换部分)。请确保使用;来分隔不同的路径组件。 - 同样地,M2_HOME变量应该分配给Maven的安装目录,例如C:\Program Files\apache-maven-3.0.4,并且你应该将%M2_HOME%\bin添加到PATH中。可以删除带有C:\Program Files\apache-maven-3.0.4\bin;M2_HOME;%M2%的部分。 将环境变量%JAVA_HOME%\bin和%M2_HOME%\bin添加到路径中的好处是,易于更新Java和Maven(或者在并行安装多个版本)。你只需要更新环境变量,PATH变量会自动跟随。

6
我遇到了与原帖作者相同的问题。我检查、反复检查所有设置,确保与每个人(正确地)指出的设置一致。但仍然出现相同的错误。最终,我在命令行中运行了"SET JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45",然后运行mvn命令,问题解决了。
所以,不管什么原因,pss的建议起到了作用。显然,这并没有改变其他人所说的,因为我的环境变量看起来完全一样...只是需要从命令行访问JAVA_HOME。
很奇怪。

5

我跟随所有步骤,但对我来说没有起作用。但是当我设置了 JAVA_HOME 路径后,在命令提示符中只需键入:

C:>SET JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_91

这在几秒钟内就可以正常工作了。谢谢大家。


1

我在本地安装时遇到了同样的问题。尝试了包括SET方法在内的所有建议方法,但都没有奏效。最后,我不得不手动向系统添加另一个环境变量,然后

mvn -v

给出适当的回应:
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T04:57:37-07:00)
Maven home: C:\Program Files (x86)\apache-maven-3.3.3-bin\apache-maven-3.3.3\bin\..
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_45\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 8", version: "6.2", arch: "amd64", family: "dos"

1
如果你和我一样从命令提示符运行mvn -version,然后从GUI添加任何缺失的环境变量,那么你可能只需要在添加环境变量后重新加载命令提示符。只需退出并运行cmd.exe即可。

1

您需要在环境变量中创建一个名为JAVA_HOME的变量,并将其值设置为jdk的路径。

  1. 右键单击我的电脑/此电脑 -> 属性
  2. 选择高级系统设置
  3. 打开环境变量
  4. 在系统变量下,点击新建...按钮,将名称设置为JAVA_HOME,值设置为c:/path/to/jdk

enter image description here


0

是的,在系统变量中将路径C:\programfiles\maven\bin添加到路径变量中就足够了,它会起作用。不需要添加用户变量。


0

我一直使用的版本。双击即可启动Maven。

@echo off
title Maven 3.0.5
set JAVA_HOME=C:\Users\hutingung\Development\jdk\jdk1.6.0_33
set MAVEN_OPTS=-Xmx1024m -Xms512m -XX:MaxPermSize=192m -Dfile.encoding=utf-8
set MAVEN_HOME=C:\Users\hutingung\Development\tools\apache-maven-3.0.5\bin
set PATH=%MAVEN_HOME%;%JAVA_HOME%\bin;%PATH%
@cmd /k

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