Как мне найти, где JDK установлен на моем компьютере с Windows? - PullRequest
274 голосов
/ 13 января 2011

Мне нужно знать, где находится JDK на моей машине.

При запуске Java -version в cmd версия отображается как «1.6.xx». Чтобы найти местоположение этого SDK на моей машине, я попытался использовать echo %JAVA_HOME%, но он показывает только «JAVA_HOME» (так как в моих переменных окружения нет переменной «JAVA_PATH»).

Ответы [ 22 ]

288 голосов
/ 13 января 2011

Если вы используете Linux / Unix / Mac OS X:

Попробуйте:

$ which java

Должен вывести точное местоположение.

После этого вы можетеустановите JAVA_HOME переменную среды самостоятельно.

На моем компьютере (Mac OS X - Snow Leopard):

$ which java
/usr/bin/java
$ ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 Nov  7 07:59 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

Если вы используете Windows:

c:\> for %i in (java.exe) do @echo.   %~$PATH:i
101 голосов
/ 09 мая 2012

Windows> Пуск> cmd>

C:> for %i in (javac.exe) do @echo.   %~$PATH:i

Если у вас установлен JDK, отображается путь,
, например: C:\Program Files\Java\jdk1.6.0_30\bin\javac.exe

85 голосов
/ 25 июля 2013

В Windows в командной строке

where javac

26 голосов
/ 25 октября 2013

В Windows по умолчанию: C:\Program Files\Java\jdk1.6.0_14 (где цифры могут отличаться, так как они версии).

26 голосов
/ 01 февраля 2012

Установщик Java помещает несколько файлов в папку% WinDir% \ System32 (java.exe, javaws.exe и некоторые другие). Когда вы набираете java.exe в командной строке или создаете процесс без полного пути, Windows запускает их как последнее средство, если они отсутствуют в папках% PATH%.

Вы можете посмотреть все версии Java, установленные в реестре. Посмотрите на HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment и HKLM \ SOFTWARE \ Wow6432Node \ JavaSoft \ Java Runtime Environment для 32-битной Java на 64-битной Windows.

Так java сама узнает, что установлены разные версии. И именно поэтому 32-разрядная и 64-разрядная версии могут сосуществовать и нормально работать без помех.

21 голосов
/ 25 января 2014

Простой и простой на платформах Windows:

, где java

15 голосов
/ 11 августа 2014

Пакетный скрипт ниже распечатает существующую JRE по умолчанию. Его можно легко изменить, чтобы найти установленную версию JDK, заменив Java Runtime Environment на Java Development Kit .

@echo off

setlocal

::- Get the Java Version
set KEY="HKLM\SOFTWARE\JavaSoft\Java Runtime Environment"
set VALUE=CurrentVersion
reg query %KEY% /v %VALUE% 2>nul || (
    echo JRE not installed 
    exit /b 1
)
set JRE_VERSION=
for /f "tokens=2,*" %%a in ('reg query %KEY% /v %VALUE% ^| findstr %VALUE%') do (
    set JRE_VERSION=%%b
)

echo JRE VERSION: %JRE_VERSION%

::- Get the JavaHome
set KEY="HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\%JRE_VERSION%"
set VALUE=JavaHome
reg query %KEY% /v %VALUE% 2>nul || (
    echo JavaHome not installed
    exit /b 1
)

set JAVAHOME=
for /f "tokens=2,*" %%a in ('reg query %KEY% /v %VALUE% ^| findstr %VALUE%') do (
    set JAVAHOME=%%b
)

echo JavaHome: %JAVAHOME%

endlocal
13 голосов
/ 26 июля 2017

В Windows 10 вы можете узнать путь, перейдя в Панель управления> Java. В появившейся панели вы можете найти путь, как показано на скриншоте ниже. В панели управления Java перейдите на вкладку «Java», а затем нажмите кнопку «Вид» под описанием «Просмотр и управление версиями и настройками среды выполнения Java для приложений и апплетов Java».

Это должно работать в Windows 7 и, возможно, в других последних версиях Windows.

enter image description here

12 голосов
/ 16 марта 2014

В командной строке Windows просто введите:

set java_home

Или, если вам не нравится командная среда, вы можете проверить ее в:

Меню Пуск> Компьютер>Свойства системы> Расширенные свойства системы.Затем откройте вкладку «Дополнительно»> «Переменные среды» и в системной переменной попытайтесь найти JAVA_HOME.

enter image description here

10 голосов
/ 24 октября 2012

Подробнее о Windows ... переменная java.home не всегда находится в том же месте, что и исполняемый двоичный файл.

Как говорит Denis The Menace, установщик помещает Java-файлы в Program Files , а также java.exe в System32 . С Java, связанным с путем java -version , все еще может работать. Однако, когда программа PeterMmm запускается, она сообщает значение Program Files как java.home , это не так (Java там установлен), но фактический исполняемый файл находится в System32 .

Один из способов поиска местоположения двоичного файла java.exe , добавьте следующую строку в код PeterMmm, чтобы программа еще долго работала:

try{Thread.sleep(60000);}catch(Exception e) {}

Скомпилируйте и запустите его, затем найдите местоположение java.exe образа. Например. в Windows 7 откройте диспетчер задач, найдите запись java.exe , щелкните правой кнопкой мыши и выберите «открыть файл», откроется точное местоположение двоичного файла Java. В этом случае это будет System32 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...