3

我正在使用 oracle Java 7 和 JRuby(来自 TorqueBox 2.2.0)在 Windows 8 上工作。在终端中 JAVA_HOME 环境变量有一些奇怪的行为......

如果我输入“set”,我会得到我所期望的:

JAVA_HOME=C:\Program Files (x86)\Java\jre7

例如,我可以运行 bundle exec rspec 它会工作然后我运行

set COVERAGE=true

并再次运行相同的命令,我会得到

Cannot locate Java installation, specified by JAVA_HOME:

我可以多次输入这个,总是相同的结果。但神秘的是我有时可以做类似的事情

jruby -S bundle exec spec

它有时会起作用......有时不会......

这完全是随机的和不可预测的……这真的很痛苦!有人知道吗?从我的角度来看,它看起来就像一个旧的 Windows 错误,因为在 Windows 7 上一切都很好

已经测试过:

  • 安装 x64 Java 而不是 x86
  • 在路径的末尾有一个尾随 /
4

1 回答 1

0

它可能与路径内的空白有关。您已正确定义它,但某些脚本可能会像这样使用它:

%JAVA_HOME%\bin\java ...

这将失败。在这种情况下,必须始终记住引号:

"%JAVA_HOME%\bin\java" ...

除了你说行为是随机的......无论如何,尝试将安装移动到名称中没有空格的文件夹,看看它做了什么。

于 2013-03-21T11:49:49.630 回答