2015-05-24 36 views
11

我在Windows 8.1上下載了Logstash-1.5.0並試圖在命令提示符下運行它。無法找到logstash的java安裝錯誤

首先我檢查了Java版本。 然後改變了目錄logstash-1.5.0/bin 然後輸入命令logstash -e 'input { stdin { } } output { elasticsearch { host => localhost } stdout { } }'它給了以下錯誤:

Cannot locate java installation, specified by JAVA_HOME

的Logstash文件夾是C:和Java的版本爲1.7.0_25。我已經將JAVA_HOME環境變量設置爲jdk/bin目錄,但仍然無效。

我是Logstash的新手。有人可以詳細告訴我爲什麼發生這種情況,並幫助我解決它嗎?

+0

'JAVA_HOME'應指向'bin /'上方的目錄。 – Qix

+0

可能的重複[如何在Windows 7上設置java \ _home?](http://stackoverflow.com/questions/2619584/how-to-set-java-home-on-windows-7) – Qix

回答

12

設置JAVA_HOMEPATH環境這樣的變量:

JAVA_HOME = C:\Program Files\Java\jdk1.7.0_25 
PATH = C:\Program Files\Java\jdk1.7.0_25\bin 
+0

謝謝你@Razib。 –

+1

你甚至可以在cygwin中以相同的方式聲明JAVA_HOME。無需使用/ cygdrive路徑。 – klimpergeist

+0

我很驚訝它需要*兩個*環境變量('JAVA_HOME'和'PATH'?)。但是,logstash會說:'使用JAVA_HOME = C:\ ProgramData \ Oracle \ Java \ javapath \ java.exe從PATH中檢索 - 所以我猜PATH很重要!那爲什麼還需要'JAVA_HOME'? –

1

在Windows上通過系統設置更改環境時,在更改生效之前,必須關閉並重新打開命令shell。

循序漸進:

  1. 找到您想要使用的Java JRE的安裝目錄。例如:「C:\ Program Files \ Java \ jre7」
  2. 打開開始菜單右鍵單擊計算機並選擇設置。在右側的系統設置窗口中點擊「擴展系統設置」。
  3. 在選項卡擴展選擇環境變量上,將您的JAVA_HOME變量添加到您的路徑並點擊確定。
  4. 打開命令shell並通過輸入「set」並按回車鍵來檢查環境。看看是否設置了JAVA_HOME

如果您的JAVA_HOME現在正確設置,logstash應該可以工作。

+0

在Windows上,只是在批處理文件中使用SET將使事情變得更加簡單,而無需更改系統配置 –

+0

關於重新啓動命令提示符的好處!這解決了我的問題。 –

2

在我的情況的問題是,我將在後面加上一個空格的JAVA_HOME變量:

"set JAVA_HOME=c:\Programs\Java " 

,而不是

"set JAVA_HOME=c:\Programs\Java" 

和logstash c無法弄清楚:)刪除空間解決了問題。

相關問題