Si scopre che il particolare binario Gradle che ho scaricato dal repository Ubuntu 13.10 stesso tenta di esportare JAVA_HOME. Grazie a Lucas per aver suggerito questo.
/usr/bin/gradle
riga 70:
export JAVA_HOME=/usr/lib/jvm/default-java
Commentare questa riga risolve il problema e Gradle trova il percorso corretto per il binario Java.
Se scarichi semplicemente il binario dal loro sito Web, non ha questo problema, è un problema con la versione repository di Ubuntu. Sembra che ci siano anche altri problemi con la versione 13.10.
aggiungere un collegamento simbolico
sudo ln -s /usr/lib/jvm/java-7-oracle /usr/lib/jvm/default-java
La soluzione è creare JAVA_HOME ==dir sopra bin dove risiede javac come in
type javac
javac is /usr/bin/javac # now check if its just a symlink
ls -la /usr/bin/javac
/usr/bin/javac -> /etc/alternatives/javac # its a symlink so check again
ls -la /etc/alternatives/javac # now check if its just a symlink
/etc/alternatives/javac -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
OK, finalmente ho trovato il cestino sopra javac effettivo, quindi fallo
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
sopra può essere semplificato e generalizzato a
which javac >/dev/null 2>&1 || die "ERROR: no 'javac' command could be found in your PATH"
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac) )))