Как найти, где 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"