天天看點

gradle java home_Gradle發現錯誤的JAVA_HOME,即使它已正确設定

問題

嘗試運作gradle時,出現以下錯誤:

# gradle

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java

Please set the JAVA_HOME variable in your environment to match the

location of your Java installation.

但是,當我檢查JAVA_HOME變量時,我得到:

# echo $JAVA_HOME

/usr/lib/jvm/java-7-oracle

我的JAVA_HOME在.bashrc中定義,我已經仔細檢查過它是否被設定為源。

Runningjava -version也确認JAVA_HOME設定正确并且在PATH上。

# java -version

java version "1.7.0_51"

Java(TM) SE Runtime Environment (build 1.7.0_51-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

我也檢查了那個/usr/bin/javasymlinks到/etc/alternatives/java,然後正确的符号連結到/usr/lib/jvm/java-7-oracle/jre/bin/java

另外,我已經檢查過在.bash_profile或/etc/profile中沒有重複的JAVA_HOME定義。

是以我的問題是如何/為什麼Gradle找到606156196,更重要的是我如何将它指向正确的目錄?

其他需要JDK工作的程式,是以我認為它是Gradle問題。我也嘗試重新安裝Gradle,沒有任何差別。

我正在運作64位Xubuntu(Ubuntu 13.10基礎)

#1 熱門回答(241 贊)

原來我從Ubuntu 13.10 repositoryitselftries下載下傳的特定Gradle二進制檔案導出JAVA_HOME。感謝Lucas提出這個建議。

/usr/bin/gradleline 70:

export JAVA_HOME=/usr/lib/jvm/default-java

注釋掉這一行解決了這個問題,Gradle找到了Java二進制檔案的正确路徑。

#2 熱門回答(45 贊)

添加符号連結

sudo ln -s /usr/lib/jvm/java-7-oracle /usr/lib/jvm/default-java

#3 熱門回答(11 贊)

對我來說這個錯誤是由于Gradle安裝為sudo而我試圖作為預設使用者運作Gradle。

嘗試:

sudo gradle -version

要麼

sudo gradle -v