2013-03-21 66 views
3

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

如果我进入“设置”我得到了我期待:

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

我可以为实例运行包的exec rspec的,它将工作 后来我跑

set COVERAGE=true 

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

Cannot locate Java installation, specified by JAVA_HOME: 

我可以输入这几次,总是一样的结果。但鬼使神差,我可以有时这样做

jruby -S bundle exec spec 

,它有时会产生,有时则不能...

这是完全随机的,不可预测的...这是一个真正的痛苦! 任何人有任何想法?从我的角度来看,它只是看起来像一个旧的Windows漏洞,因为一切都在Windows 7很好

已经测试:

  • 安装64位的Java,而不是86
  • 有一个尾随/在路径末尾
+0

如果将JAVA_HOME更改为指向JDK(其中javac.exe所在的位置)而不是JRE,会发生什么情况? – Muel 2013-03-21 11:47:26

回答

0

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

%JAVA_HOME%\bin\java ... 

哪个会失败。在这样的情况下,一个始终要记住引号:

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

除了你说的行为是随机的...无论如何,请尝试将安装到一个文件夹没有空格的名字,看看会发生什么。

+0

我不确定它是否正是这个......我将Java安装文件夹移动到无空间路径并出现新错误 无法找到由JAVA_HOME指定的Java安装:... my_path ... \ jre 它正在寻找我心目中的jre。所以我将JAVA_HOME指向了我的Java JDK,而不是JRE,因此没有任何问题。 – 2013-04-03 13:49:33