Как найти, где JDK установлен на моем компьютере Windows?

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

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

Ответ 1

Если вы используете 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

Ответ 2

Windows > Пуск > cmd >

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

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

Ответ 3

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

where javac

Ответ 4

Установщик 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-битная версия могут сосуществовать и прекрасно работать, не мешая.

Ответ 5

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

Ответ 6

Обычная и простая на платформах Windows:

, где java

Ответ 7

Пакет script ниже распечатает существующую стандартную 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

Ответ 8

Подробнее о 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.

Ответ 9

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

set java_home

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

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

enter image description here

Ответ 10

Запустите эту программу из командной строки:

// File: Main.java
public class Main {

    public static void main(String[] args) {
       System.out.println(System.getProperty("java.home"));
    }

}


$ javac Main.java
$ java Main

Ответ 11

В Windows вы можете использовать

C:>dir /b /s java.exe

чтобы напечатать полный путь каждого "java.exe" на вашем диске C:, независимо от того, находятся ли они в вашей переменной среды PATH.

Ответ 12

Пробовали ли вы просматривать%% PATH%. Это то, что Windows использует для поиска любого исполняемого файла.

Ответ 13

Просто выполните команду set в командной строке. Затем вы увидите все переменные окружения, которые вы установили.

Или если в Unix вы можете упростить его:

$ set | grep "JAVA_HOME" 

Ответ 14

Это конкретная ОС. В Unix:

which java

отобразит путь к исполняемому файлу. Я не знаю эквивалента Windows, но там обычно есть папка bin для установки JDK в системе PATH:

echo %PATH%

Ответ 15

Ни один из этих ответов не подходит для Linux, если вы ищете дом, который включает в себя поддиры, такие как: bin, docs, include, jre, lib и т.д.

В Ubuntu для openjdk1.8.0 это находится в: /usr/lib/jvm/java-1.8.0-openjdk-amd64

и вы можете использовать его для JAVA_HOME, так как вы сможете находить заголовки, если вы создадите исходные файлы JNI. Хотя true which java предоставит двоичный путь, это не настоящий JDK home.

Ответ 16

Один вкладыш Powershell:

$p='HKLM:\SOFTWARE\JavaSoft\Java Development Kit'; $v=(gp $p).CurrentVersion; (gp $p/$v).JavaHome

Ответ 17

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

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

введите описание изображения здесь

Ответ 18

#!/bin/bash

if [[ $(which ${JAVA_HOME}/bin/java) ]]; then
    exe="${JAVA_HOME}/bin/java"
elif [[ $(which java) ]]; then
    exe="java"
else 
    echo "Java environment is not detected."
    exit 1
fi

${exe} -version

Для окон:

@echo off
if "%JAVA_HOME%" == "" goto nojavahome

echo Using JAVA_HOME            :   %JAVA_HOME%

"%JAVA_HOME%/bin/java.exe" -version
goto exit

:nojavahome
echo The JAVA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program.
goto exit

:exit

Эта ссылка может помочь объяснить, как найти исполняемый файл java из bash: http://srcode.org/2014/05/07/detect-java-executable/

Ответ 19

в Windows cmd:

set "JAVA_HOME"