Ich habe JDK mit apt-get install installiert, weiß aber nicht, wo sich mein jdk-Ordner befindet. Ich muss den Weg dafür festlegen. Hat jemand eine Ahnung von dem Ort?
/usr/local/java/
mit original heruntergeladenen Oracle-Distributionen.
Ich habe JDK mit apt-get install installiert, weiß aber nicht, wo sich mein jdk-Ordner befindet. Ich muss den Weg dafür festlegen. Hat jemand eine Ahnung von dem Ort?
/usr/local/java/
mit original heruntergeladenen Oracle-Distributionen.
Antworten:
Dies hängt ein wenig von Ihrem Paketsystem ab. Wenn der java
Befehl funktioniert, können Sie eingeben readlink -f $(which java)
, um den Speicherort des Java-Befehls zu ermitteln. Auf dem OpenSUSE-System, auf dem ich mich gerade befinde, kehrt es zurück /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java
(aber dies ist kein System, das verwendet apt-get
).
Unter Ubuntu sieht es so aus, als wäre es/usr/lib/jvm/java-6-openjdk/
für OpenJDK und in einem anderen Unterverzeichnis von /usr/lib/jvm/
Suns JDK (und anderen Implementierungen, glaube ich).
Für jedes Paket können Sie bestimmen, welche Dateien installiert werden und wo sie installiert werden, indem Sie dpkg abfragen. Zum Beispiel für das Paket 'openjdk-6-jdk':dpkg -L openjdk-6-jdk
/usr/lib/jvm/java-7-openjdk-amd64
.
readlink -f $(which javac)
- beachten Sie das 'c', falls sich auf demselben Computer eine seltsame Mischung aus JDK und JRE befindet. Das JDK enthält einen Compiler (javac) und eine JRE nicht. Wenn der Pfad jedoch nicht korrekt ist, schlägt dies fehl und Sie können dies versuchen: find /usr/java -wholename '*ava/jdk*' -prune
wie ich in einem Kommentar unten vermerke.
update-java-alternatives -l
Hier erfahren Sie, welche Java-Implementierung die Standardeinstellung für Ihr System ist und wo sie im Dateisystem installiert ist. Weitere Optionen finden Sie im Handbuch.
apt-get
und die Distribution sein soll Debian 2.6.26
. AFAIK, es sollte für alle Debian-Derivate gleich sein.
$ which java
sollte dir so etwas geben
/usr/bin/java
readlink -f $(which javac)
er gedruckt /usr/lib/jvm/java-8-oracle/bin/javac
. Dieser bin-Ordner ist KEIN JDK. Allgemeiner Säure-Base-Test, um festzustellen, ob es sich um ein JDK handelt, um festzustellen, ob der Strom $JAVA_HOME
einen Pfad von enthält lib/tools.jar
. In der Besetzung /usr/lib/jvm/java-8-oracle/bin
ist das nicht wahr, daher ist es kein JDK.
find /usr/java -wholename '*ava/jdk*' -prune
Verhalten hängt jedoch davon ab, ob Sie über OpenJDK oder Oracle Java sprechen und wie es überhaupt installiert wurde.
Diese Frage wird verschoben, aber Sie können Folgendes tun
which javac
oder
cd /
find . -name 'javac'
Verwenden Sie find, um es zu lokalisieren. Es sollte /usr
irgendwo unter sein :
find /usr -name java
Wenn beim Ausführen des Befehls zu viele Meldungen "Berechtigung verweigert" die tatsächlich gefundenen Ergebnisse verschleiern, leiten Sie stderr einfach nach / dev / null um
find /usr -name java 2> /dev/null
Eine andere beste Möglichkeit, den Java-Ordnerpfad zu finden, ist die Verwendung des alternatives
Befehls in Fedora Linux (ich weiß, dass er für Ubuntu ist, aber ich habe diesen Beitrag von Google nur anhand der Überschrift aufgerufen). Ich möchte nur teilen, falls Leute wie ich nach Antworten für den Fedora-Geschmack suchen.
Anzeigen aller Informationen zu Java
alternatives --display java
Dreistufiger Prozess: Erstens: Öffnen Sie Terminal-> $ whereis java
, um eine Ausgabe wie folgt zu erhalten:
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
Zweitens:
ls -l /usr/bin/java
Es würde eine Ausgabe wie folgt ergeben:
lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java
Drittens:
ls -l /etc/alternatives/java
Ausgabe ist der JDK-Pfad:
lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Einfach, probieren Sie es aus:
Es ist / usr / local / java / jdk [version]
Diese Frage scheint immer noch relevant zu sein, und die Antwort scheint ein bewegliches Ziel zu sein.
Auf meinem Debian-System (Buster):
> update-java-alternatives -l
java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64
Wenn Sie jedoch tatsächlich dorthin gehen, werden Sie feststellen, dass das Paketsystem dort mehrere Verzeichnisse und symbolische Links platziert, um die zukünftige Wartung zu vereinfachen.
Das eigentliche Verzeichnis ist java-11-openjdk-amd64
mit einem weiteren Symlink von default-java
. Es gibt auch ein openjdk-11
Verzeichnis, aber es scheint nur eine source.zip-Datei zu enthalten.
Vor diesem Hintergrund würde ich NUR für Debian den besten Wert verwenden /usr/lib/jvm/default-java
, da dieser immer gültig sein sollte, selbst wenn Sie sich entscheiden, eine völlig andere Version von Java zu installieren oder sogar den Anbieter zu wechseln.
Der normale Grund, den Pfad kennen zu wollen, liegt darin, dass eine Anwendung dies wünscht und Sie wahrscheinlich nicht möchten, dass diese App beschädigt wird, weil Sie ein Upgrade durchgeführt haben, bei dem die Versionsnummern geändert wurden.
Unter OpenSUSE 13.1 / 13.2 /usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
kann die Versionsnummer 1.7.x 1.8.x usw. sein. Überprüfen Sie den Software-Manager, welche Version Sie installiert haben ...
André
Unter Linux Fedora30 stehen verschiedene Versionen des vollständigen Java-JDK zur Verfügung, insbesondere Paketnamen:
java-1.8.0-openjdk-devel.x86_64
java-11-openjdk-devel.x86_64
Einmal installiert, befinden sie sich in: /usr/lib/jvm
Um den Speicherort / das Verzeichnis eines vollständigen Entwicklungs-JDK auszuwählen (der sich von der einfacheren Laufzeit-JRE unterscheidet), suchen Sie nach Einträgen:
ls -ld java*openjdk*
Hier sind zwei gute Optionen: Links zu bestimmten Versionen, bei denen Sie die Version auswählen müssen:
/usr/lib/jvm/java-1.8.0-openjdk
/usr/lib/jvm/java-11-openjdk
Dies ist der beste Weg, der für mich funktioniert hat. Führen Sie diesen Befehl aus: -
$(dirname $(readlink $(which javac)))/java_home