Java_home Keine solche Datei oder kein solches Verzeichnis im Linux-Terminal

Java_home Keine solche Datei oder kein solches Verzeichnis im Linux-Terminal

Hallo, ich habe ein Problem. Mein Linux-Terminal zeigt bash: java_home: Keine solche Datei oder kein solches Verzeichnis. Wenn ich echo $JAVA_HOME eingebe, erhalte ich /usr/lib/jvm/java-8-openjdk-amd64 und echo $PATH zeigt /usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games. Wenn ich sudo apt-get install schreibe, erhalte ich JAVA_HOME:not find. Ich kann kein Problem finden. Ich verwende Kubuntu. Unten können Sie mein Terminal und meine .profile-Datei in meinem Home-Verzeichnis sehen. Vielleicht weiß jemand, wie man das behebt. Vielen Dank im Voraus.

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Antwort1

Die entscheidende Fehlermeldung ist:

/usr/sbin/update-info-dir: 2: /etc/environment: JAVA_HOME: not found

Dies deutet darauf hin, dass die Fehlermeldung von stammt /usr/sbin/update-info-dir. Dabei handelt es sich um ein Skript, das als Teil von Paketinstallations-/-entfernungsvorgängen ausgeführt werden kann. Es liest (bezieht) die /etc/environmentDatei und stößt dabei auf einen Fehler.

/etc/environmentsoll nur Umgebungsvariablenzuweisungen im POSIX-Shell-Stil enthalten, d. h.

VARIABLE_NAME=value

Es ist wichtig,keine Leerzeichen vor oder nach dem Gleichheitszeichen: Wenn Leerzeichen vorhanden sind, wird der Variablenname als Shell-Befehl interpretiert und die Shell versucht, ihn auszuführen.

Ich vermute, dass Ihre /etc/environmentDatei wahrscheinlich etwas enthält wie

JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64

Anstatt also den Pfadnamen der Umgebungsvariable zuzuweisen $JAVA_HOME, interpretiert die Shell, die die Datei liest, diese als auszuführenden Shell-Befehl. Sie versucht, einen Befehl mit dem Namen wörtlich JAVA_HOMEmit zwei Parametern, =und , auszuführen /usr/lib/jvm/java-8-openjdk-amd64. Da ein Befehl mit dem Namen JAVA_HOMEnicht existiert, führt dies zu einer Fehlermeldung.

Bearbeiten Sie Ihre /etc/environmentDatei und entfernen Sie alle Leerzeichen vor/nach dem Gleichheitszeichen in den Umgebungsvariablenzuweisungen.

Antwort2

sudo verwaltet Ihre Umgebungsvariablen nicht. Versuchen Sie

sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 apt-get ...

Wenn dies von Ihrer Sudo-Konfiguration nicht zugelassen wird, versuchen Sie es sudo -imit dem folgenden Befehl JAVA_HOME=... apt-get...wie oben beschrieben.

verwandte Informationen