4

由于各种原因,我必须坚持使用旧版本的 Java (6) 和 Maven (2.2)。所以我介意,我安装了Maven 2.2.1,而我的系统使用64 位JDK 6。

我试图通过运行来验证它是否正确安装,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 中,在外面是不可见的。

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

4

1 回答 1

3

问题的根源一直在我眼前,但我没有看到:

%JAVA_HOME% 环境变量设置为%SystemRoot%\Program Files (x86)\Java\jdk1.6.0_37而不是%SystemDrive%\Program Files (x86)\Java\jdk1.6.0_37.

固定后,无需修改maven.bat

于 2012-12-04T17:03:53.567 回答