Wie ändere ich den Wert von JAVA_HOME
in Ubuntu, um auf Oracle Java zu verweisen?
Sollte es auf java-6-sun
oder zeigen java-6-sun-1.6.0.24
?
Ich setze die Zeile:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
in meiner ~/.bashrc
Akte.
/usr/lib/jvm/java7-oracle
sollte ein symbolischer Link sein, auf den verwiesen wird /usr/lib/jvm/java-7-oracle-[version number here]
.
Der Grund für die symbolische Verknüpfung ist, dass Sie Ihre JVM nicht aktualisieren müssen, falls es eine neue Version der JVM gibt .bashrc
Datei , sondern automatisch auf die neue Version verweisen sollte.
Wenn Sie JAVA_HOME
Umgebungsvariablen global und auf Systemebene festlegen möchten, sollte die Verwendung in der /etc/environment
Datei festgelegt werden.
oracle-java7-set-default
Paket bewirkt.Wenn Sie es global und auf Systemebene ändern möchten;
Im
füge diese Zeile hinzu:
quelle
$JAVA_HOME
löst sich nicht auf, wenn es so verwendetPATH=$JAVA_HOME/bin
wird. Neustart versucht, keine Auswirkung. Muss ichexport
oderset
JAVA_HOME
entweder in dieser Datei oder in meinem Profil?Um das Java SE Development Kit von Oracle als Standard-Java für das System festzulegen, laden Sie einfach das neueste Java SE Development Kit von hier herunter und erstellen Sie ein Verzeichnis an einer beliebigen Stelle in Ihrem Dateisystem.
/usr/java
Extrahieren Sie nun beispielsweise die Dateien, die Sie gerade in dieses Verzeichnis heruntergeladen haben:So legen Sie jetzt Ihre
JAVA_HOME
Umgebungsvariable fest:Stellen Sie sicher, dass Java von Oracle als Standard-Java festgelegt ist durch:
Sie bekommen so etwas:
Achten Sie auf das Sternchen vor den Zahlen auf der linken Seite. Wenn die richtige nicht eingestellt ist, wählen Sie die richtige aus, indem Sie die Nummer eingeben und die Eingabetaste drücken. Testen Sie jetzt Ihr Java:
Wenn Sie Folgendes erhalten, können Sie loslegen:
Beachten Sie auch, dass Sie möglicherweise eine Root-Berechtigung benötigen oder sich in einer Sudoers-Gruppe befinden, um dies tun zu können. Ich habe diese Lösung sowohl auf Ubuntu 12.04 als auch auf Debian Wheezy getestet und sie funktioniert in beiden.
quelle
Wenn Sie möchten, dass diese Umgebungsvariable allen Benutzern und beim Systemstart zur Verfügung steht , können Sie /etc/profile.d/java.sh Folgendes hinzufügen ( ggf. erstellen):
Dann in einem Terminal laufen:
Es sollte immer darauf verweisen,
java-7-oracle
dass Symlinks zu dem zuletzt installierten (vorausgesetzt, Sie haben Java aus den Ubuntu-Repositorys und jetzt aus dem auf oracle.com verfügbaren Download installiert).quelle
Java 6
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-amd64
oder Java 7
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
quelle
Wenn Sie irgendeine Art von Entwicklung durchführen, müssen Sie auf das JDK (Java Development Kit) verweisen. Andernfalls können Sie auf die JRE (Java Runtime Environment) verweisen.
Das JDK enthält alles, was die JRE hat und mehr. Wenn Sie nur Java-Programme ausführen, können Sie entweder auf die JRE oder das JDK verweisen.
Sie sollten
JAVA_HOME
basierend auf dem aktuellen Java, das Sie verwenden, festlegen .readlink
druckt den Wert eines symbolischen Links für das aktuelle Java undsed
passt ihn an das JRE-Verzeichnis an:Wenn Sie JAVA_HOME für JDK einrichten möchten, sollten Sie einen Ordner mehr aufrufen:
quelle
Wenn Sie bei der Installation mehrerer JDKs eine bestimmte Java-Version verwenden möchten, funktioniert das Festlegen von JAVA_HOME möglicherweise nicht.
Sie müssen verwenden
sudo update-alternatives --config java
, um Standard-Java festzulegen.Siehe /ubuntu/121654/how-to-set-default-java-version .
quelle
Sehen Sie das ; Lauf
um alle Java-Installationen auf einem Computer nach Name und Verzeichnis aufzulisten und dann auszuführen
um zu wählen, welches JRE / JDK verwendet werden soll.
Wenn Sie für jede Java-Aufgabe unterschiedliche JDKs / JREs verwenden möchten, können Sie Update-Alternativen ausführen, um jeweils eine ausführbare Java-Datei zu konfigurieren. Du kannst rennen
um die Java-Befehle anzuzeigen, die konfiguriert werden können (Java, Javac, Javah, Javaws usw.). Und dann
ordnet diese Java-Aufgabe / diesen Java-Befehl einem bestimmten JDK / JRE zu.
Möglicherweise müssen Sie für einige Anwendungen auch JAVA_HOME festlegen: Aus dieser Antwort können Sie verwenden
für JREs oder
für JDKs.
quelle
java -XshowSettings 2>&1 | grep -e 'java.home' | awk '{print "JAVA_HOME="$3}' | sed "s/\/jre//g" >> /etc/environment