有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Windows 7上的32位64位Maven 2.2.1 64位

出于各种原因,我必须坚持使用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期望Java的32位版本,而它无法处理64位Java。这是真的吗

如果确实是这种情况,将%JAVA_HOME%环境变量设置为指向32位版本(已安装)是而不是我想做的事情,因为它会使我的电脑上安装的其他工具失败,这些工具依赖它指向64位版本

有办法吗

更新:通过在maven.bat中插入以下行(就在=== START VALIDATION ===之前)解决问题:

set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_37

通过这种方式,这种%JAVA_HOME%环境变化被本地化为Maven,在外部是不可见的

如果有更好的解决办法,我很乐意知道


共 (1) 个答案

  1. # 1 楼答案

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

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

    一旦修复,就不需要修改maven.bat