在Windows 7 64位系统上安装Maven

15

我想创建一个Tapestry Skeletion项目。 我按照以下指南操作: http://maven.apache.org/download.html#Installationhttp://juanjoefe.com/tutoriales/instalar-maven-en-windows-7/ 以及其他互联网上的指南。

但是,当我键入“mvn --version”或“mvn -version”时,我总是收到错误提示“mvn未被识别为内部或外部命令、可执行程序或批处理文件。”

我的朋友使用Windows 7 x86,他们没有问题。 我该如何在Windows 7 x64上安装Maven 3.0.3?


2
你把 %M2_HOME%/bin 添加到了 PATH 环境变量里吗?如果你按照页面上的说明安装了其他所有东西,那这应该是你需要做的全部。 - aroth
我在我的64位Windows 7上遇到了同样的问题:Maven目录已经在路径中,并且我已经重新启动了系统,但没有任何运气。 - Arsen Zahray
9个回答

22
  1. 进入Maven目录(例如在您的资源管理器中)
  2. 转到“bin”文件夹中的一个文件夹
  3. 复制地址栏中的地址(F4CTRL+L,必须以“bin”结尾)
  4. 前往“开始”菜单并键入“env”
  5. 选择“编辑系统环境变量”
  6. 找到具有Java现有值的“PATH”变量,因为Maven需要Java。
  7. 添加“;” + 粘贴先前复制的路径。
  8. 重新启动以更新系统
  9. 在命令行中运行“mvn install”

Yucca


17
无需重新启动系统,只需关闭所有打开的命令提示符窗口并重新打开即可。 - aseychell
1
能详细说明一下吗?这些是设置您的PATH永久性的指令,并且此方法中没有打开任何命令提示符。据我所知,与提示符的任何交互仅在会话期间或直到关闭提示符时保留。我相信用户希望在每次登录时都能看到他的mvn命令,而无需每次重新配置PATH。 - thejartender
5
我指的是第8步,尝试更改你的环境变量,只需关闭并重新打开命令提示符,就可以刷新环境变量,使其在新的命令提示符会话中生效。 - aseychell
你不需要重新启动Windows来更新Path变量。只需启动一个新的命令行即可。同时,使用像MAVEN_HOME这样的路径变量,并通过%MAVEN_HOME%将它们添加到路径中会更加简洁。 - Igor Čordaš

17

在Windows 7 64位系统中安装Maven 3.0.4

  • 右键单击“我的电脑”→属性→高级系统设置→环境变量→系统变量

  • 点击“新建”

  • 添加

M2_HOME=C:\maven\apache-maven-3.0.4
M2=%M2_HOME%\bin

假设已经设置好了 JAVA_HOME

  • 编辑 Path 环境变量,在现有的 path 末尾添加 ;%M2% 作为 %M2%

示例:

C:\Users\arun.bc\oraclexe\app\oracle\product\10.2.0\server\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Dell\DW WLAN Card;C:\Ruby193\bin;C:\Borland\BCC55\Bin;%JAVA_HOME%/bin;%M2%

应用并关闭系统属性。

打开一个新的命令提示符窗口,输入

mvn --version
以下信息应该显示:
C:\Users\arun.bc>mvn --version
Apache Maven 3.0.4 (r1232337; 2012-01-17 16:44:56+0800)
Maven home: C:\maven\apache-maven-3.0.4
Java version: 1.7.0_03, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_03\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

这对我也有效!我正在使用它与Android Studio一起编译Google Cloud应用程序引擎项目。 - Fergers
谢谢,我知道如何执行所有这些步骤,但是它并没有起作用,后来我在你的示例中发现,在路径末尾没有;,所以请记住,添加到路径的最后一个条目不需要;。 - Igor Čordaš
这个有效。然而,我想知道为什么在这种情况下顺序很重要:如果%M2%不是最后一个,它就不起作用了。 - Treefish Zhang

3
我曾经遇到了同样的问题,但是我已经解决了。
当我设置maven_home时,在结尾处加上了一个分号;。所以当我设置路径时,它变成了MAVEN;\bin ...。我去掉了末尾的分号;,问题就解决了。
出于某种原因,在Windows XP中,这个分号;并不重要,但在Windows7(32位)中却是一个问题。
Nathan

这个 MAVEN;\bin 是自动添加的还是你最初手动添加时出了错误?在 Windows 中,';' 是目录分隔符,因此 XP 必须以某种不同的方式找到 mvn 可执行文件... 如果 maven install 把它放在那里,那么这似乎是一个 maven 的 bug,应该报告或在这里链接 bug 报告。 - jpe

2
您可以像我一样在PATH中拥有多个Maven安装版本:
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\glassfish3\jdk7\bin;C:\DEV\servers\apache-tomcat-7.0.5\bin;C:\Program Files (x86)\Java\jdk1.6.0_25\bin;C:\DEV\apache-maven-3.0.3\bin;C:\DEV\apache-maven-2.2.1\bin;C:\Program Files (x86)\Windows Live\Shared 

第一个Maven bin(Maven 3)是在我的之前使用的(Maven 2)。


1

你必须将包含mvn可执行文件的目录添加到你的PATH环境变量中。


1

Windows会按字母顺序对所有变量进行排序。不要使用多个元素来构建到Maven的路径,例如将文件夹/bin命名为M2,根目录命名为M2_HOME。只需获取Maven的\bin目录的完整路径并将其放入Path变量中即可。


0
  1. 请设置系统环境变量而不是用户变量
  2. 将M2_HOME设置为:C:\Program Files\apache-maven-3.1.1,而不是:C:\Program Files\Apache Software Foundation\apache-maven-3.1.1(我不知道为什么,但似乎空格真的很重要!)

0
我在使用maven 3.3.3时遇到了这个问题。之后尝试了maven 3.3.9,它可以工作!解决方法是下载新版本的maven。

0
通过以下方式解决了我的问题:
  1. 根据Maven [Install]部分页面,它说:“在任何目录中提取分发存档”。因此,在G:驱动器中提取文件,因此这是根本原因。

  2. 将下载的文件夹移动到C:驱动器中解决了我的问题

  3. 更新环境变量。关闭并重新打开命令提示符。


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