2014-11-02 118 views
2

我收到以下警告,但不明白爲什麼。看來我有Java 7U71。cassandra 2.1.1在Mac終端

LNGRDUM-4157808:bin xyx$ ./cassandra -f 
Cassandra 2.0 and later require Java 7u25 or later. 

LNGRDUM-4157808:bin xyz$ java -version 
java version "1.7.0_71" 
Java(TM) SE Runtime Environment (build 1.7.0_71-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode) 

回答

1

您必須安裝多個Java版本。檢查你的PATH設置並將其更改爲指向正確的版本:

LNGRDUM-4157808:bin xyx$ SET 
. . . 
PATH=<bunch of stuff>:/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin 

如果JAVA_HOME設置(不需要有用於運行卡桑德拉),請確保它不是指向不同的Java安裝。

2

我不知道爲什麼它說你需要升級,儘管看起來你的Java版本是最新的。我所知道的是,我最近也有類似的問題,我解決這樣說:

  1. https://www.java.com/en/download安裝最新的JRE。這將安裝最新版本的Java,但它不會更新Terminal/bash所使用的默認「java」,所以Cassandra不會選擇它。
  2. 爲了使卡桑德拉和終端使用最新版本,請將最新安裝添加到您的$PATH。由於幾個原因,這很複雜。首先,Java安裝本身並不明顯,並且它不是默認的/user/bin/java位置。事實證明,它在/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin。其次,目錄中有一個空間,所以你必須小心。

    理論上,應該可以通過編輯/ etc/paths來編輯您的$PATH。但是,我無法得到這個工作(可能與目錄中的空間有關?)。相反,我最終以不同的方式編輯我的$ PATH,如here所示。在我.bash_profile行看起來是這樣的:

    export PATH="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin":$PATH 
    

    如果你有這樣做的任何問題,只是讓我知道。

  3. 測試你已經打開一個新的終端(這是很重要的,因爲它會刷新你的.bash_profile),然後鍵入java -version得當此。希望現在顯示比以前更新的版本。您可以仔細檢查java是否來自正確的地方,並且您已成功修改了$PATH,方法是輸入which java

這樣做可以修復我的卡桑德拉。希望它也能解決你的問題。