在Windows 7 64位系统上安装Maven 2.2.1

4
由于各种原因,我必须坚持使用较旧版本的Java(6)和Maven(2.2)。因此,在我安装Maven 2.2.1时,系统使用的是64位JDK 6。下载链接
为了验证是否正确安装了Maven,我运行了“mvn--version”命令,得到的回应是:
ERROR: JAVA_HOME is set to an invalid directory.
JAVA_HOME = "C:\Windows:\Program Files\Java\jdk1.6.0_37"
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation

我怀疑 Maven 期望使用 32位 版本的 Java,无法处理64位的Java。这是真的吗?
如果确实如此,那么设置 %JAVA_HOME% 环境变量指向32位版本(已安装)并不是我想做的,因为它将使我的PC上安装的其他工具失败,这些工具依赖于它指向64位版本。
有没有解决方法? 更新:通过在 maven.bat 中插入以下行(就在 === START VALIDATION === 之前)问题已得到解决。
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_37

这样,这个%JAVA_HOME%环境变量的更改只针对Maven进行本地化,并且在外部不可见。

如果有更好的解决方案,我很乐意了解。


Maven 2.2.1 和 Java 版本之间有什么关系?你应该使用 Maven 3.0.X 而不是 Maven 2.2.1... - khmarbaise
@khmarbaise 我正在使用 xmlbeans-maven-plugin,它只支持 Maven 2,而不支持 Maven 3。所以很遗憾我不能使用 Maven 3。 - Withheld
那写在哪里?我在 mojo codehaus 页面上没有看到任何提示,说明这个插件只能在 Maven 2 中使用...? - khmarbaise
1
@khmarbaise http://mojo.codehaus.org/xmlbeans-maven-plugin/index.html - Withheld
1
重点是Maven 3是Maven 2的即插即用替代品。因此,通常不会出现Maven插件的问题。这是提到的原因,因为要明确它不能与Maven 1一起使用。 - khmarbaise
@khmarbaise 好的,知道有一天我能升级到 Maven 3 而不失去 xmlbeans-maven-plugin 是个好消息。我正在一个要求我们仍然使用 Maven 2 的团队中工作,所以限制依然存在,但是如下面我的回答所示,我解决了我的问题:Maven 真的需要一个有效的 %JAVA_HOME%。 :-) - Withheld
1个回答

3
问题的源头一直在我的眼前,但我没有看到它:
%JAVA_HOME% 环境变量设置为 %SystemRoot%\Program Files (x86)\Java\jdk1.6.0_37,而不是%SystemDrive%\Program Files (x86)\Java\jdk1.6.0_37
一旦更正,无需修改 maven.bat

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