出于各种原因,我必须坚持使用旧版本的 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,并且在外部不可见。
如果有更好的解决方案,我很乐意知道。
最佳答案
问题的根源一直在我眼前,但我没有看到:
%JAVA_HOME% 环境变量设置为 %SystemRoot%\Program Files (x86)\Java\jdk1.6.0_37
而不是 %SystemDrive%\Program Files (x86)\Java\jdk1.6.0_37
.
修复后,无需修改 maven.bat
。
关于maven-2 - Windows 7 64 位上的 Maven 2.2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13631789/