Podczas próby uruchomienia gradle pojawia się następujący błąd:
# 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.
Jednak po sprawdzeniu zmiennej JAVA_HOME otrzymuję:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Mój JAVA_HOME jest zdefiniowany w .bashrc i dwukrotnie sprawdziłem, czy jest ustawiony jako źródło.
Uruchomienie java -version
potwierdza również, że JAVA_HOME jest poprawnie ustawiona i znajduje się na 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)
Sprawdziłem również, czy /usr/bin/java
dowiązania symboliczne, do /etc/alternatives/java
których z kolei poprawnie prowadzą dowiązania symboliczne/usr/lib/jvm/java-7-oracle/jre/bin/java
Dodatkowo sprawdziłem, czy nie ma zduplikowanych definicji JAVA_HOME w .bash_profile
lub /etc/profile
.
Więc moje pytanie brzmi: jak / dlaczego Gradle znajduje /usr/lib/jvm/default-java
, a co ważniejsze, jak wskazać właściwy katalog?
Inne programy, które wymagają JDK, działają dobrze, więc myślę, że jest to problem z Gradle. Próbowałem również ponownie zainstalować Gradle, co nie miało znaczenia.
Używam 64-bitowego Xubuntu (Ubuntu 13.10 base)
/usr/lib/jvm/default-java
reż. Zainstalowany z apt (apt-get install gradle)
JAVA_HOME
ustawiać skryptu startowego Gradle . Jeśli JAVA_HOME
jest ustawiona, skrypt używa $JAVA_HOME/bin/java
do uruchomienia Gradle. W przeciwnym razie używa java
(czyli java
musi być na PATH
). Być może pakiet apt (innej firmy) używa zmodyfikowanego skryptu startowego.
usr/lib/jvm/defult-java
. Dzięki za pomoc
source ~/.bashrc
lub zrestartowałeś swój komputer po ustawieniu JAVA_HOME?
/usr/lib/jvm/default-java
katalog lub łącze symboliczne? Jak zainstalowałeś Gradle?