GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gradle findet das falsche JAVA_HOME, obwohl es richtig eingestellt ist

Es stellt sich heraus, dass die bestimmte Gradle-Binärdatei, die ich aus dem Ubuntu 13.10-Repository selbst heruntergeladen habe versucht JAVA_HOME zu exportieren. Danke an Lucas für diesen Vorschlag.

/usr/bin/gradle Zeile 70:

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

Das Auskommentieren dieser Zeile löst das Problem, und Gradle findet den richtigen Pfad zur Java-Binärdatei.

Wenn Sie die Binärdatei einfach von ihrer Website herunterladen, tritt dieses Problem nicht auf. Es handelt sich um ein Problem mit der Ubuntu-Repo-Version. Es scheint auch einige andere Probleme mit Version 13.10 zu geben.


fügen Sie einen symbolischen Link

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

Die Lösung besteht darin, JAVA_HOME ==dir über dem bin zu erstellen, in dem javac lebt, wie 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, also habe ich endlich den Behälter über dem tatsächlichen Javac gefunden, also mach das hier

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

oben kann vereinfacht und verallgemeinert werden zu

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)  )))

Linux
  1. Beispiele für Linux-Exportbefehle (Festlegen von Umgebungsvariablen)

  2. Linux, warum kann ich nicht schreiben, obwohl ich Gruppenrechte habe?

  3. Tomcat 7:Wie stellt man die anfängliche Heap-Größe richtig ein?

  4. Wie lege ich den JAVA_HOME-Pfad auf Ubuntu fest?

  5. Suchen Sie JAVA_HOME und legen Sie es auf RHEL fest

So installieren Sie Java unter CentOS 7 (Java_home festlegen)

So legen Sie die JAVA_HOME-Variable in Ubuntu Linux richtig fest

Wie füge ich einen Pfad zu Pfad richtig hinzu?

Was ist der beste Weg, um eine Umgebungsvariable in .bashrc festzulegen?

/bin/ls nicht gefunden, obwohl es existiert!

`Berechtigung verweigert` zum CD in ein Verzeichnis, obwohl die Berechtigungen korrekt sind