2013-03-21 68 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