In ~/.bash_profile
stelle ich folgendes ein:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386/bin/java
export PATH=$PATH:/usr/lib/jvm/java-7-openjdk-i386/bin
Nach dem Speichern und Schließen lief ich:
sudo su
source .bash_profile
echo $PATH
bringt
root@ubuntu:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-7-openjdk-i386/bin
which java
ist
/usr/bin/java
Aber wenn ich Smartgit starte, gibt es die folgende Warnung
ip@ubuntu:/usr/share/smartgithg/bin$ ./smartgithg.sh
Warning: /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java/bin/java does not exist
Warum verweist 'welches Java' nicht auf das neue Java, das ich installiert habe? Und warum enthält $ PATH bin/java/
zweimal?
java
environment-variables
user1662013
quelle
quelle
Antworten:
Sie können die Java-Version mit dem
update-alternatives
Befehl auswählen .Führen Sie den folgenden Befehl im Terminal aus.
Und geben Sie die Auswahlnummer ein, die Sie verwenden möchten.
So was:
Achtung: Die obige Beschreibung ist das Verfahren zum Ändern einer Standardversion. Es ist keine Antwort auf diese Frage, sollte Ihnen aber dabei helfen, das JAVA-Zuhause einzurichten
quelle
Sie haben Ihre
JAVA_HOME
Variable in Ihrer~/.bash_profile
Datei falsch festgelegt . Ändern Sie IhreJAVA_HOME
Variable in:und dann tun
source ~/.bash_profile
Dies sollte Ihr Problem beheben.
quelle
Ubuntu verwendet das
update-alternatives
System, um zu verwalten, welche Installation des Java JDK oder JRE verwendet werden soll. Auf diese Weise können Sie mehrere Java-Versionen installieren, aber dennoch steuern, welche standardmäßig verwendet wird.Aus diesem Grund
which java
wird die von Ihnen installierte Version nicht angezeigt./usr/bin/java
ist nur ein Symlink. Wenn Sie rennenls -l /usr/bin/java
, sehen Sie etwas wie:und wenn Sie dem Pfad folgen, indem
ls -l /etc/alternatives/java
Sie laufen , sehen Sie etwas wie:Der genaue Pfad hängt jedoch davon ab, welche Version Sie ausgewählt haben.
Mit diesem Befehl können Sie auswählen, welche Java-Version Sie ausführen möchten:
Ihr Pfad enthält
bin/java
zweimal, weil Sie$JAVA_HOME
falsch konfiguriert haben .$JAVA_HOME
sollte auf das Stammverzeichnis für Ihre Java-Installation zeigen; in Ihrem Fall ,/usr/lib/jvm/java-7-openjdk-i386/
. Sie haben es auf diejava
Binärdatei selbst gerichtet.Sie sollten nicht
$JAVA_HOME
zu Ihrem hinzufügen müssen , es$PATH
sei denn, Sie installieren Java manuell und verwenden es nichtupdate-alternatives
, da/usr/bin
es sich bereits in Ihrem befindet$PATH
.quelle