Ich muss wissen, wo sich JDK auf meinem Computer befindet.
Beim Ausführen Java -version
in cmd wird die Version als '1.6.xx' angezeigt. Um den Speicherort dieses SDK auf meinem Computer zu ermitteln, habe ich versucht echo %JAVA_HOME%
, es zu verwenden, aber es zeigt nur 'JAVA_HOME' an (da in meinen Umgebungsvariablen keine 'JAVA_PATH'-Variable festgelegt ist).
Antworten:
Wenn Sie Linux / Unix / Mac OS X verwenden:
Versuche dies:
Sollte den genauen Ort ausgeben.
Danach können Sie die
JAVA_HOME
Umgebungsvariable selbst festlegen .Auf meinem Computer (Mac OS X - Snow Leopard):
Wenn Sie Windows verwenden:
quelle
where java
funktioniert unter Windows (zumindest ab Windows 7). Wenn Sie jedoch wirklich ein JDK und kein JRE möchten, müssen Sie in den zurückgegebenen Verzeichnissen nach 'bin / javac /ls -l $(which java) | awk '{print $11}'
Windows> Start> cmd>
Wenn Sie ein JDK installiert haben, wird der Pfad angezeigt,
zum Beispiel:
C:\Program Files\Java\jdk1.6.0_30\bin\javac.exe
quelle
where java
funktioniert nur, wenn sich die ausführbare Datei im PATH befindet. Wenn sich javac aus irgendeinem Grund nicht im Pfad befindet, wird kein Ergebnis zurückgegeben, dies bedeutet jedoch nicht, dass JDK nicht installiert ist. Im Allgemeinen garantiert die von @grokster solution vorgeschlagene Dateisuchlösung ein Ergebnis (es kann einige Zeit dauern, bis der Vorgang abgeschlossen ist).In Windows an der Eingabeaufforderung
where javac
quelle
In Windows lautet die Standardeinstellung:
C:\Program Files\Java\jdk1.6.0_14
(wobei sich die Zahlen unterscheiden können, da es sich um die Version handelt).quelle
Das Java-Installationsprogramm legt mehrere Dateien im Ordner% WinDir% \ System32 ab (java.exe, javaws.exe und einige andere). Wenn Sie java.exe in die Befehlszeile eingeben oder einen Prozess ohne vollständigen Pfad erstellen, führt Windows diese als letzten Ausweg aus, wenn sie in% PATH% -Ordnern fehlen.
Sie können alle in der Registrierung installierten Java-Versionen nachschlagen. Schauen Sie sich HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment und HKLM \ SOFTWARE \ Wow6432Node \ JavaSoft \ Java Runtime Environment für 32-Bit-Java unter 64-Bit-Windows an.
Auf diese Weise findet Java selbst heraus, dass verschiedene Versionen installiert sind. Aus diesem Grund können sowohl die 32-Bit- als auch die 64-Bit-Version nebeneinander existieren und funktionieren einwandfrei.
quelle
Schlicht und einfach auf Windows-Plattformen:
wo Java
quelle
Das folgende Batch-Skript druckt die vorhandene Standard-JRE aus. Es kann leicht geändert werden, um die installierte JDK-Version zu finden, indem die Java-Laufzeitumgebung durch das Java Development Kit ersetzt wird .
quelle
Unter Windows 10 können Sie den Pfad unter Systemsteuerung> Java ermitteln. In dem angezeigten Bereich finden Sie den Pfad, wie im folgenden Screenshot gezeigt. Wechseln Sie in der Java-Systemsteuerung zur Registerkarte "Java" und klicken Sie auf die Schaltfläche "Ansicht" unter der Beschreibung "Anzeigen und Verwalten von Java Runtime-Versionen und -Einstellungen für Java-Anwendungen und -Applets".
Dies sollte unter Windows 7 und möglicherweise anderen neueren Windows-Versionen funktionieren.
quelle
Geben Sie an einer Windows-Eingabeaufforderung einfach Folgendes ein:
Wenn Ihnen die Befehlsumgebung nicht gefällt, können Sie sie folgendermaßen überprüfen:
Startmenü> Computer> Systemeigenschaften> Erweiterte Systemeigenschaften. Öffnen Sie dann die Registerkarte Erweitert> Umgebungsvariablen und versuchen Sie in der Systemvariablen, JAVA_HOME zu finden.
quelle
Unter Windows können Sie verwenden
um den vollständigen Pfad jeder "java.exe" auf Ihrem Laufwerk C: zu drucken, unabhängig davon, ob sie sich in Ihrer Umgebungsvariablen PATH befinden.
quelle
Mehr unter Windows ... Die Variable java.home ist nicht immer derselbe Speicherort wie die ausgeführte Binärdatei.
Wie Denis The Menace sagt, fügt das Installationsprogramm Java-Dateien in Programmdateien , aber auch java.exe in System32 ein . Ohne Java auf dem Pfad kann Java-Version immer noch funktionieren. Wenn das Programm von PeterMmm ausgeführt wird, meldet es jedoch den Wert der Programmdateien als java.home . Dies ist nicht falsch (Java ist dort installiert), aber die tatsächlich ausgeführte Binärdatei befindet sich in System32 .
Um den Speicherort der Binärdatei java.exe zu ermitteln , fügen Sie dem Code von PeterMmm die folgende Zeile hinzu, damit das Programm noch eine Weile läuft:
Kompilieren und führen Sie es aus und suchen Sie dann den Speicherort des Bildes java.exe . Öffnen Sie beispielsweise in Windows 7 den Task-Manager, suchen Sie den Eintrag java.exe , klicken Sie mit der rechten Maustaste und wählen Sie "Dateispeicherort öffnen". Dadurch wird der genaue Speicherort der Java-Binärdatei geöffnet. In diesem Fall wäre es System32 .
quelle
Führen Sie dieses Programm über die Befehlszeile aus:
quelle
Powershell One Liner:
quelle
$p='HKLM:\SOFTWARE\JavaSoft\JDK'; $v=(gp $p).CurrentVersion; (gp $p/$v).JavaHome
Haben Sie versucht, Ihre Variable% PATH% zu betrachten? Das ist es, was Windows verwendet, um eine ausführbare Datei zu finden.
quelle
Echo %PATH%.
Meins scheint unterc:\Program Files\Java
Windows 7 zu seinFühren Sie einfach die aus
set
Befehl in Ihrer Befehlszeile aus. Dann sehen Sie alle Umgebungsvariablen, die Sie festgelegt haben.Oder wenn Sie es unter Unix vereinfachen können:
quelle
Dies ist betriebssystemspezifisch. Unter Unix:
zeigt den Pfad zur ausführbaren Datei an. Ich kenne kein Windows-Äquivalent, aber dort befindet sich normalerweise der
bin
Ordner der JDK-Installation im SystemPATH
:quelle
Keine dieser Antworten ist für Linux korrekt, wenn Sie nach einem Home suchen, das die Unterverzeichnisse enthält: bin, docs, include, jre, lib usw.
Unter Ubuntu für openjdk1.8.0 ist dies in:
/usr/lib/jvm/java-1.8.0-openjdk-amd64
und Sie können es vorziehen, dies zu verwenden,
JAVA_HOME
da Sie Header finden können, wenn Sie JNI-Quelldateien erstellen. Während es wahr ist,which java
wird es den binären Pfad bereitstellen, aber es ist nicht das wahre JDK-Zuhause.quelle
Führen Sie unter macOS Folgendes aus:
Auf meinem Computer wird Folgendes gedruckt:
Beachten Sie, dass beim Ausführen
which java
der JDK-Speicherort nicht angezeigt wird, da derjava
Befehl stattdessen Teil von istJavaVM.framework
, der das echte JDK umschließt:quelle
in Windows cmd:
quelle
Für Windows:
Dieser Link kann hilfreich sein, um zu erklären, wie Sie eine ausführbare Java-Datei von bash finden: http://srcode.org/2014/05/07/detect-java-executable/
quelle
Ich habe die Antwort von munsingh oben verbessert, indem ich bei Bedarf in 64-Bit- und 32-Bit-Registern nach dem Registrierungsschlüssel getestet habe:
Referenz für den Zugriff auf die 64-Bit-Registrierung
quelle
Skript für 32/64 Bit Windows.
quelle