Ich bin neu im Linux-System und es scheint zu viele Java-Ordner zu geben.
Java-Version gibt mir:
Wenn ich versuche, ein Maven-Projekt zu erstellen, erhalte ich eine Fehlermeldung:
Error: Java_HOME is not defined correctly.
We cannot execute /usr/Java/jdk1.7.0_05/bin/Java
Könnten Sie mir bitte sagen, welche Dateien ich für root- und nicht-root-Benutzer ändern muss und wo genau sich Java befindet?
find /usr/lib/jvm/Java-1.x.x-openjdk
vim /etc/profile
Stellen Sie Sudo vor, wenn Sie als nicht privilegierter Benutzer angemeldet sind. Sudo vim
hinzufügen:
export Java_HOME="path that you found"
export PATH=$Java_HOME/bin:$PATH
source /etc/profile
, um die Änderungen sofort in Ihrer aktuellen Shell zu übernehmenAllen Benutzern würde ich empfehlen, die folgende Zeile in /etc/profile
zu platzieren.
export Java_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
Dies wird dynamisch aktualisiert und funktioniert gut mit dem alternatives System. Beachten Sie jedoch, dass das Update nur in einer neuen Login-Shell erfolgt.
Sie könnten/etc/profile oder besser eine Datei wie /etc/profile.d/jdk_home.sh verwenden
export Java_HOME=/usr/Java/jdk1.7.0_05/
Man muss bedenken, dass diese Datei nur mit neuen Login-Shells geladen wird. Also nach bash -l oder einer neuen gnome-session und ändert sich das nicht mit neuen Java-Versionen.
Keine der anderen Antworten "klebte" für mich in RHEL 7, selbst das Einstellen von Java_HOME
und PATH
direkt in /etc/profile
oder ~/.bash_profile
würde nicht funktionieren. Jedes Mal, wenn ich versuchte zu prüfen, ob Java_HOME
eingestellt war, wurde es leer angezeigt:
$ echo $Java_HOME
(<-- no output)
Ich musste ein script in /etc/profile.d/jdk_home.sh
einrichten:
#!/bin/sh
export Java_HOME=/opt/ibm/Java-x86_64-60/
export PATH=$Java_HOME/bin:$PATH
Ich habe die erste Zeile (den #!/bin/sh
) anfangs vernachlässigt, und ohne sie geht es nicht.
Jetzt geht es:
$ echo $Java_HOME
/opt/ibm/Java-x86_64-60/
Es ist sehr einfach, den Pfad in Linux einzustellen. Gehen Sie wie folgt vor:
Step-1Terminal öffnen und Sudo gedit .bashrc
eingeben
Schritt-2Sie werden nach Ihrem Passwort gefragt. Nach der Eingabe des Passworts wird die bash-Datei geöffnet. Gehen Sie dann zum Ende und geben Sie unten ein
Schritt 3
export Java_HOME= /usr/lib/jvm/Java-8-openjdk-AMD64/
export PATH="$PATH:$Java_HOME/bin"
step-4Speichern Sie dann die Datei und verlassen Sie die Datei
Oben ist für einen einzelnen Benutzer. Für alle Benutzer müssen Sie die folgenden Schritte befolgen
Schritt-1 gedit /etc/profile
Schritt-2 export Java_HOME=/usr/lib/jvm/Java-8-openjdk-AMD64/
Schritt-3 export PATH=$PATH:$Java_HOME/bin
Hoffe das hilft. Vielen Dank!
Tun, was Oracle tut (als ehemaliger Sun-Mitarbeiter kann ich mich nicht daran gewöhnen)
in -s latestJavaRelease/usr/Java/default
Wobei latestJavaRelease die Version ist, die Sie verwenden möchten
exportieren Sie anschließend Java_HOME =/usr/Java/default
Die Antwort ist gegeben, dass die vorherigen Beiträge gültig sind. Aber keine Antwort ist vollständig in Bezug auf:
- Es ist NICHT ratsam, diese Datei zu ändern, es sei denn, Sie wissen, was Sie tun. Es ist viel besser, ein benutzerdefiniertes SH-Skript in .__ zu erstellen. /etc/profile.d/, um benutzerdefinierte Änderungen an Ihrer Umgebung vorzunehmen. verhindert das Zusammenführen zukünftiger Updates. *
Wie oben angegeben, erstellen Sie die Datei /etc/profile.d/custom.sh für benutzerdefinierte Änderungen.
Um immer mit den neueren Java-Versionen auf dem neuesten Stand zu bleiben, geben Sie niemals den absoluten Pfad ein, sondern verwenden Sie:
# wenn jdk als Java-Startseite verwendet wird
export Java_HOME = $ (readlink -f/usr/bin/javac | sed "s:/bin/javac ::")
OR
# wenn jre als Java-Startseite verwendet wird
export Java_HOME = $ (readlink -f/usr/bin/Java | sed "s:/bin/Java ::")
Kopieren Sie den installierten Bin-Dateipfad
"DEIN WEG"
Öffnen Sie das Terminal und bearbeiten Sie die Umgebungsdatei, indem Sie folgenden Befehl eingeben.
"Sudo nano/etc/environment"
Fügen Sie in dieser Datei die folgende Zeile hinzu (ersetzen Sie YOUR_PATH durch den gerade kopierten Pfad):
Java_HOME = "YOUR_PATH"
Das sollte ausreichen, um die Umgebungsvariable zu setzen. Laden Sie diese Datei jetzt neu:
"source/etc/environment"
testen Sie es jetzt, indem Sie Folgendes ausführen:
echo $ Java_HOME
Unter Linux füge ich diese Zeile zu meinem ~/.profile hinzu:
export Java_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)
Posting als Antwort, da ich nicht das Privileg habe zu kommentieren.
Punkt zu beachten : Folgen Sie der akzeptierten Antwort von "That Dave Guy".
Stellen Sie nach dem Festlegen der Variablen sicher, dass Sie die entsprechenden Berechtigungen für das Java-Verzeichnis festlegen, in dem es installiert ist.
chmod -R 755 /usr/Java
Lassen Sie mich beim Festlegen von Java_HOME einige Vorteile der Einstellung von Java_HOME oder einer anderen Umgebungsvariablen teilen:
1) Es ist einfach, JDK zu aktualisieren, ohne dass der Anwendungsstart und die Konfigurationsdatei, die auf Java_HOME zeigen, beeinflusst werden. Sie müssen nur die neue Version herunterladen und sicherstellen, dass Java_HOME auf die neue Java-Version verweist. Dies ist am besten, wenn Sie Umgebungsvariablen oder Links verwenden.
2) Die Java_HOME-Variable ist kurz und knapp und nicht der vollständige Pfad zum JDK-Installationsverzeichnis.
3) Die Java_HOME-Variable ist plattformunabhängig. Wenn Ihr Startskript Java_HOME verwendet, kann es ohne Änderungen unter Windows und UNIX ausgeführt werden. Sie müssen lediglich Java_HOME für das jeweilige Betriebssystem festlegen.
Lesen Sie mehr: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH
Schritt 1 - Überprüfen Sie die aktuelle Java-Version mit "echo $ Java_HOME".
Schritt 2 - vim/etc/profile
Schritt 3 - Am Ende der Datei finden Sie Export Java_HOME. Wir müssen hier den neuen Pfad angeben. Stellen Sie sicher, dass er nicht relativ ist.
Schritt 4 - Speichern und beenden: wq
Schritt 5 - "source/etc/profile /" führt die Änderung aus
Schritt 6 - Wiederholen Sie ein Echo $ Java_HOME - die Änderung wurde übernommen.
Fügen Sie diesen Befehl einfach zu Ihrer Docking-Datei hinzu
RUN echo "Java_HOME=$(readlink -f /usr/bin/Java | sed "s:bin/Java::")" | tee -a /etc/profile && source /etc/profile && echo $Java_HOME
Dies ist ein sehr einfaches Skript, um das Problem zu lösen
export Java_HOME_BIN=`which Java`
export Java_HOME_DIR=`dirname $Java_HOME_BIN`
export Java_HOME=`dirname $Java_HOME_DIR`
Und zum Testen:
echo $Java_HOME
Möglicherweise ist es eine gute Idee, das von Ihnen bearbeitete Profil zu speichern, um ein neues Login zu erhalten.
entweder: source /etc/oder./etc /
Wo ist das von Ihnen bearbeitete Profil?.