In Ubuntu möchte ich meine Umgebungsvariable JAVA_HOME zwischen Java 5 und 6 hin und her wechseln.
Ich öffne ein Terminal und gebe Folgendes ein, um die Umgebungsvariable JAVA_HOME festzulegen:
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
Und im selben Terminalfenster gebe ich Folgendes ein, um zu überprüfen, ob die Umgebungsvariable aktualisiert wurde:
echo $JAVA_HOME
Und ich sehe /usr/lib/jvm/java-1.5.0-sun , was ich erwartet habe. Außerdem ändere ich ~ / .profile und setze die Umgebungsvariable JAVA_HOME auf /usr/lib/jvm/java-1.5.0-sun.
Und jetzt zum Problem: Wenn ich ein neues Terminalfenster öffne und meine JAVA_HOME-Umgebungsvariable durch Eingabe von echo $ JAVA_HOME überprüfe, sehe ich, dass meine JAVA_HOME-Umgebungsvariable auf Java 6 zurückgesetzt wurde. Wenn ich meinen Computer (oder mein Protokoll) neu starte Ich nehme an, die Umgebungsvariable JAVA_HOME ist auf Java 5 gesetzt (vermutlich aufgrund der Änderungen, die ich in meinem ~ / .profile vorgenommen habe).
Gibt es eine Möglichkeit , um dieses so , dass ich ohne meine JAVA_HOME Umgebung ändern können , um sich abzumelden und wieder in (und das Umgebungsvariablen ändern machen Stick in allen neuen Terminal - Fenster)?
quelle
~/.profile
Datei wird nur gelesen, wenn Sie sich bei Ubuntu anmelden. Wenn Sie sich also abmelden / anmelden, wird JAVA_HOME für alle Terminals und alle anderen von Ihnen ausgeführten Anwendungen festgelegt. Wenn Sie JAVA_HOME festlegen~/.bashrc
, wird dies nur von Anwendungen angezeigt, die vom Terminal ausgeführt werden.Antworten:
Fügen Sie die Umgebungsvariablen in die globale
/etc/environment
Datei ein:Führen Sie "source / etc / environment" in jeder Shell aus, in der die Variablen aktualisiert werden sollen:
Überprüfen Sie, ob es funktioniert:
Großartig, kein Abmelden erforderlich.
Wenn Sie die Umgebungsvariable JAVA_HOME nur im Terminal festlegen möchten, legen Sie sie in der Datei ~ / .bashrc fest .
quelle
/etc/environment
Besonderes ist und keine Variablensubstitution zulässt, zJRE_HOME=${JAVA_HOME}/jre
. B. nicht funktioniert.Dies wird wahrscheinlich Ihr Problem lösen: https://help.ubuntu.com/community/EnvironmentVariables
quelle
Versuchen Sie diese Schritte.
- Wir werden "etc \ profile" bearbeiten. Die Umgebungsvariablen sind am Ende der Datei einzugeben. Da Ubuntu keinen Zugriff auf den Stammordner gewährt, müssen wir einige Befehle im Terminal verwenden
Schritt 1: Starten Sie das Terminal. Befehl eingeben:
gksudo gedit /etc/profile
Schritt 2: Die Profiltextdatei wird geöffnet. Geben Sie die Umgebungsvariablen am unteren Rand der Seite ........... ZB:
export JAVA_HOME=/home/alex/jdk1.6.0_22/bin/java
Schritt 3: Speichern und schließen Sie die Datei. Überprüfen Sie, ob die Umgebungsvariablen unter Verwendung von echo - Befehl gesetzt werden ........ Eg
echo $PATH
quelle
Sie müssen die Variablendefinition in die
~/.bashrc
Datei einfügen.Von der Bash-Manpage:
quelle
Wenn Sie die Variable nur in Ihren Terminalfenstern ändern möchten, legen Sie sie traditionell in einer
.bashrc
Datei fest, die bei jedem Öffnen eines neuen Terminals bezogen wird..profile
Die Datei wird nicht jedes Mal bezogen, wenn Sie ein neues Terminal öffnen.Sehen Sie den Unterschied zwischen .profile und .bashrc in Frage: Was ist der Unterschied zwischen .bashrc, .bash_profile und .environment?
.bashrc
sollte Ihr Problem lösen. Es ist jedoch nicht die richtige Lösung, da Sie Ubuntu verwenden. Weitere Informationen finden Sie auf der entsprechenden Ubuntu-Hilfeseite " Sitzungsweite Umgebungsvariablen ". Kein Wunder also, dass.profile
das bei Ihnen nicht funktioniert. Ich benutze Ubuntu 12.04 und xfce. Ich habe meine eingerichtet.profile
und sie wird einfach nicht wirksam, selbst wenn ich mich ab- und anmelde. Ähnliche Erfahrungen hier . Sie müssen also möglicherweise die.pam_environment
Datei verwenden und völlig vergessen.profile
, und.bashrc
. Und HINWEIS: Dies.pam_environment
ist keine Skriptdatei.quelle
Schauen Sie sich an
bash(1)
, Sie benötigen eine Login-Shell, um die~/.profile
, dh die-l
Option, aufzunehmen.quelle
Ich weiß, dass dies eine lange, kalte Frage ist, aber sie taucht jedes Mal auf, wenn es eine neue oder kürzlich erschienene große Java-Version gibt. Dies würde nun leicht für den Austausch von 6 und 7 gelten.
Ich habe dies in der Vergangenheit getan mit
update-java-alternatives
: http://manpages.ubuntu.com/manpages/hardy/man8/update-java-alternatives.8.htmlquelle
Nachdem Sie Änderungen an .profile vorgenommen haben, müssen Sie die Datei ausführen, damit die Änderungen wirksam werden.
Sobald dies erledigt ist, funktioniert der Echo-Befehl.
quelle
~/.profile
eher als verwenden./.profile
.