Как узнать установлен ли jdk на windows

I have recently uninstalled JDK 11 and installed JDK 8. For confirmation, I want to check which JDK is installed on my Windows 10 machine. I typed java -version on cmd then get the error message ...

To get your jdk location in Windows, run this at a command prompt:

where java

This lists any and all locations of java.exe, including from your JAVA_HOME. For example, the 3rd line here reflects my JAVA_HOME location, where I’m pointing to JDK 8:

C:Usersme> where java
C:Program FilesCommon FilesOracleJavajavapathjava.exe
C:Program Files (x86)Common FilesOracleJavajavapathjava.exe
C:Program FilesJavajdk1.8.0_202binjava.exe

Note for comparison that java -version does not reflect my JAVA_HOME location and in fact shows java version 11 instead of 8:

C:Usersme> java -version
java version "11.0.15" 2022-04-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.15+8-LTS-149)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.15+8-LTS-149, mixed mode)

This is confusing because my Java compiles (e.g., via mvn) use JDK 8 since that’s what my JAVA_HOME is pointing to. (I’m not sure whwere the 11 version came from; possibly from when I installed maven.)

Determining the difference between the JRE and JDK you’re running has never been straightforward. Seems like java -version used to be a way to do this, but no longer.

Adding to the complexity, you can also supposedly get your Java version info from Control Panel > Programs > Java > About. For me, that shows Version 8. That’s despite java -version showing version 11.0.15. And it doesn’t change even if I point my JAVA_HOME to JDK 11.

Note that this answer is also helpful. In my case, that helped me determine that I have java.exe and javac.exe at C:Program Files (x86)Common FilesOracleJavajavapath and C:Program FilesCommon FilesOracleJavajavapath. Depending on which one I have listed first in my Path variable, I get different results when i run java -version or java --version. The former seems to work when Java 8 is listed first; the latter when Java 11 is first.

A generic, pure Java solution..

For Windows and MacOS, the following can be inferred (most of the time)…

public static boolean isJDK() {
    String path = System.getProperty("sun.boot.library.path");
    if(path != null && path.contains("jdk")) {
        return true;
    }
    return false;
}

However… on Linux this isn’t as reliable… For example…

  • Many JREs on Linux contain openjdk the path
  • There’s no guarantee that the JRE doesn’t also contain a JDK.

So a more fail-safe approach is to check for the existence of the javac executable.

public static boolean isJDK() {
    String path = System.getProperty("sun.boot.library.path");
    if(path != null) {
        String javacPath = "";
        if(path.endsWith(File.separator + "bin")) {
            javacPath = path;
        } else {
            int libIndex = path.lastIndexOf(File.separator + "lib");
            if(libIndex > 0) {
                javacPath = path.substring(0, libIndex) + File.separator + "bin";
            }
        }
        if(!javacPath.isEmpty()) {
            return new File(javacPath, "javac").exists() || new File(javacPath, "javac.exe").exists();
        }
    }
    return false;
}

Warning: This will still fail for JRE + JDK combos which report the JRE’s sun.boot.library.path identically between the JRE and the JDK. For example, Fedora’s JDK will fail (or pass depending on how you look at it) when the above code is run. See unit tests below for more info…

Unit tests:

# Unix
java -XshowSettings:properties -version 2>&1|grep "sun.boot.library.path"
# Windows
java -XshowSettings:properties -version 2>&1|find "sun.boot.library.path"
    # PASS: MacOS AdoptOpenJDK JDK11
    /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib

    # PASS: Windows Oracle JDK12
    c:Program FilesJavajdk-12.0.2bin

    # PASS: Windows Oracle JRE8
    C:Program FilesJavajre1.8.0_181bin

    # PASS: Windows Oracle JDK8
    C:Program FilesJavajdk1.8.0_181bin

    # PASS: Ubuntu AdoptOpenJDK JDK11
    /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib

    # PASS: Ubuntu Oracle JDK11
    /usr/lib/jvm/java-11-oracle/lib

    # PASS: Fedora OpenJDK JDK8
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.fc24.x86_64/jre/lib/amd64

    #### FAIL: Fedora OpenJDK JDK8
    /usr/java/jdk1.8.0_231-amd64/jre/lib/amd64

A generic, pure Java solution..

For Windows and MacOS, the following can be inferred (most of the time)…

public static boolean isJDK() {
    String path = System.getProperty("sun.boot.library.path");
    if(path != null && path.contains("jdk")) {
        return true;
    }
    return false;
}

However… on Linux this isn’t as reliable… For example…

  • Many JREs on Linux contain openjdk the path
  • There’s no guarantee that the JRE doesn’t also contain a JDK.

So a more fail-safe approach is to check for the existence of the javac executable.

public static boolean isJDK() {
    String path = System.getProperty("sun.boot.library.path");
    if(path != null) {
        String javacPath = "";
        if(path.endsWith(File.separator + "bin")) {
            javacPath = path;
        } else {
            int libIndex = path.lastIndexOf(File.separator + "lib");
            if(libIndex > 0) {
                javacPath = path.substring(0, libIndex) + File.separator + "bin";
            }
        }
        if(!javacPath.isEmpty()) {
            return new File(javacPath, "javac").exists() || new File(javacPath, "javac.exe").exists();
        }
    }
    return false;
}

Warning: This will still fail for JRE + JDK combos which report the JRE’s sun.boot.library.path identically between the JRE and the JDK. For example, Fedora’s JDK will fail (or pass depending on how you look at it) when the above code is run. See unit tests below for more info…

Unit tests:

# Unix
java -XshowSettings:properties -version 2>&1|grep "sun.boot.library.path"
# Windows
java -XshowSettings:properties -version 2>&1|find "sun.boot.library.path"
    # PASS: MacOS AdoptOpenJDK JDK11
    /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/lib

    # PASS: Windows Oracle JDK12
    c:Program FilesJavajdk-12.0.2bin

    # PASS: Windows Oracle JRE8
    C:Program FilesJavajre1.8.0_181bin

    # PASS: Windows Oracle JDK8
    C:Program FilesJavajdk1.8.0_181bin

    # PASS: Ubuntu AdoptOpenJDK JDK11
    /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/lib

    # PASS: Ubuntu Oracle JDK11
    /usr/lib/jvm/java-11-oracle/lib

    # PASS: Fedora OpenJDK JDK8
    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.fc24.x86_64/jre/lib/amd64

    #### FAIL: Fedora OpenJDK JDK8
    /usr/java/jdk1.8.0_231-amd64/jre/lib/amd64

Шаг 1. Убедитесь, что JDK предварительно установлен

  1. Если возвращается номер версии JDK (например, JDK xxx), значит, JDK уже установлен. …
  2. Если появляется сообщение «команда не найдена», JDK НЕ установлен. …
  3. Если появляется сообщение «Чтобы открыть javac, вам нужна среда выполнения Java», выберите «Установить» и следуйте инструкциям по установке JDK.

Как узнать, установлена ​​ли JRE в Windows 10?

Ответ

  1. Откройте командную строку. Следуйте по меню «Пуск»> «Программы»> «Стандартные»> «Командная строка».
  2. Введите: java -version и нажмите Enter на клавиатуре. Результат: сообщение, подобное приведенному ниже, указывает, что Java установлена ​​и вы готовы использовать MITSIS через среду выполнения Java.

3 сред. 2020 г.

Как проверить версию JDK JRE?

  1. Откройте командную строку:, если вы используете Windows. …
  2. Введите: java -version // Это проверит вашу версию JRE javac -version // Это проверит версию вашего компилятора Java, если вы установили JDK.
  3. Возьмите чашку кофе, и все готово!

20 мар. 2015 г.

Как узнать, есть ли на моем компьютере Java JDK?

У вас может быть либо JRE (среда выполнения Java), которая требуется для запуска Java-приложений на компьютере, либо JDK, как показано ниже. 1. Откройте командную строку и введите «java –version». Если отображается номер установленной версии.

Нужны ли мне и JDK, и JRE?

Если вы хотите запускать программы Java, но не разрабатывать их, загрузите JRE. Если вы хотите разрабатывать приложения Java, загрузите Java Development Kit или JDK. JDK включает JRE, поэтому вам не нужно загружать обе по отдельности.

Можно ли установить JRE без JDK?

Нет, вы не можете разрабатывать Java-программы только с JRE

Вам понадобится JDK для компиляции ваших программ. JRE предоставляет только среду выполнения, но JDK — это то, что вам нужно для компиляции вашего кода, чтобы сделать его исполняемым вашей JRE.

Как установить JRE?

Запуск установщика JRE

У вас должны быть права администратора, чтобы установить JRE в Microsoft Windows. Запустите установщик JRE 8, дважды щелкнув значок установщика или имя файла в месте загрузки. Мастер установки показывает важную информацию. Нажмите ОК, чтобы продолжить установку.

Как мне скачать JRE 11?

Вы можете бесплатно загрузить JRE с сайта Oracle. Перейдите на http://www.oracle.com/technetwork/java/javase/downloads/index.html. В разделе «Платформа Java, стандартный выпуск» выберите либо текущий выпуск, либо щелкните «Предыдущие выпуски», чтобы установить более раннюю поддерживаемую версию. Вы можете использовать JDK или JRE.

Почему в Java 11 нет JRE?

Но я заметил, что в Java 11 нет папки JRE. В Java 9 и Java 10 структура папок изменена, то есть javajdk1. … Я понял, что Java 11 требует модульности нашего приложения, и использование jlink необходимо для создания нашего собственного jre для запуска приложения на клиенте.

В чем разница между JDK и JRE?

JDK — это комплект для разработки программного обеспечения, тогда как JRE — это программный пакет, который позволяет запускать программу Java, тогда как JVM — это среда для выполнения байт-кода. JDK зависит от платформы, JRE также зависит от платформы, но JVM не зависит от платформы. … JDK содержит инструменты для разработки, отладки и т. Д.

Java 1.8 — это то же самое, что Java 8?

javac -source 1.8 (это псевдоним для javac -source 8) java.

Как обновить JDK до последней версии?

Изменить настройки автоматического обновления

  1. Найдите и запустите панель управления Java.
  2. Нажмите вкладку «Обновление» для доступа к настройкам.
  3. Чтобы Java Update автоматически проверял наличие обновлений, установите флажок «Автоматически проверять наличие обновлений». Чтобы отключить обновление Java, снимите флажок «Проверять наличие обновлений автоматически».

Как я узнаю, что у меня JDK или OpenJDK?

Вы можете написать простой сценарий bash, чтобы проверить это:

  1. Откройте любой текстовый редактор (желательно vim или emacs).
  2. создайте файл с именем script.sh (или любым именем с расширением.…
  3. вставьте в него следующий код: #! / bin / bash if [[$ (java -version 2> & 1) == * ”OpenJDK” *]]; затем эхо нормально; иначе эхо «не в порядке»; fi.
  4. сохраните и выйдите из редактора.

24 центов 2016 г.

Какая последняя версия Java?

Последняя версия Java — Java 16 или JDK 16, выпущенная 16 марта 2021 года (следуйте этой статье, чтобы проверить версию Java на своем компьютере). JDK 17 находится в процессе сборки с ранним доступом и станет следующим JDK LTS (долгосрочная поддержка).

Как мне найти свой путь JDK?

Щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства». На вкладке «Дополнительно» выберите «Переменные среды», а затем отредактируйте JAVA_HOME, чтобы указать, где находится программное обеспечение JDK, например C: Program FilesJavajdk1.

174 / 64 / 13

Регистрация: 22.12.2015

Сообщений: 2,646

1

07.12.2018, 17:46. Показов 31501. Ответов 21


Всем здравствуйте.

Установлен NetBeans IDE 8.2 где посмотреть какая версия JDK к нему подключена?



0



Йуный падаван

Эксперт PythonЭксперт Java

14004 / 8203 / 2481

Регистрация: 21.10.2017

Сообщений: 19,687

07.12.2018, 18:26

2

jkrnd, в командной строке: java -version



0



174 / 64 / 13

Регистрация: 22.12.2015

Сообщений: 2,646

07.12.2018, 18:40

 [ТС]

3

iSmokeJC, О JRE есть информация, а где здесь про JDK?

Миниатюры

Как узнать какая версия JDK у меня установлена?
 



0



174 / 64 / 13

Регистрация: 22.12.2015

Сообщений: 2,646

07.12.2018, 18:41

 [ТС]

4

требуется JDK 8



0



Йуный падаван

Эксперт PythonЭксперт Java

14004 / 8203 / 2481

Регистрация: 21.10.2017

Сообщений: 19,687

07.12.2018, 18:43

5

jkrnd, ну тады javac -version



1



174 / 64 / 13

Регистрация: 22.12.2015

Сообщений: 2,646

07.12.2018, 20:35

 [ТС]

6

iSmokeJC,

Миниатюры

Как узнать какая версия JDK у меня установлена?
 



0



Эксперт Java

3636 / 2968 / 918

Регистрация: 05.07.2013

Сообщений: 14,220

07.12.2018, 22:21

7

jkrnd, ну jdk8 все норм



1



Эксперт Java

2391 / 2217 / 564

Регистрация: 28.12.2010

Сообщений: 8,658

07.12.2018, 23:52

8

Цитата
Сообщение от jkrnd
Посмотреть сообщение

Установлен NetBeans IDE 8.2 где посмотреть какая версия JDK к нему подключена?

Цитата
Сообщение от iSmokeJC
Посмотреть сообщение

командной строке: java -version

это не всегда означает что подключена именно эта версия. Если установленно больше одного JDK то в IDE можно прописать одну, а в PATH будет другая.



2



Йуный падаван

Эксперт PythonЭксперт Java

14004 / 8203 / 2481

Регистрация: 21.10.2017

Сообщений: 19,687

08.12.2018, 08:33

9

Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

KEKCoGEN, согласен. Просто мне подумалось, что если ТС не в курсе, какая JDK у него присутствует, то она явно в одном экземпляре. Но если есть подозрение на несколько установленных jdk, помимо системных переменных можно пробежаться по дефолтным папкам типа Program Files да и тупо посмотреть



1



174 / 64 / 13

Регистрация: 22.12.2015

Сообщений: 2,646

08.12.2018, 12:56

 [ТС]

10

Цитата
Сообщение от iSmokeJC
Посмотреть сообщение

и тупо посмотреть

что я и сделал. Спасибо



0



Эксперт Java

2391 / 2217 / 564

Регистрация: 28.12.2010

Сообщений: 8,658

08.12.2018, 19:28

11

Цитата
Сообщение от iSmokeJC
Посмотреть сообщение

Но если есть подозрение на несколько установленных jdk, помимо системных переменных можно пробежаться по дефолтным папкам типа Program Files да и тупо посмотреть

как это даст ответ на вопрос какая именно JDK подключена к проекту в IDE? С учетом того что на каждый проект можно свой JDK подключить?



1



174 / 64 / 13

Регистрация: 22.12.2015

Сообщений: 2,646

08.12.2018, 19:41

 [ТС]

12

KEKCoGEN, уточню. Я не просто «пробежался по папкам» а посмотрел, что устанавливалось в системе накануне и наткнулся на файл jdk-8u191-windows-x64.exe. Посмотрел на сайте Oracle — это последняя версия JDK. На этом успокоился, тем более что всё работает как часы.



0



528 / 263 / 70

Регистрация: 11.12.2016

Сообщений: 1,223

29.12.2018, 03:01

13

Цитата
Сообщение от jkrnd
Посмотреть сообщение

KEKCoGEN, уточню. Я не просто «пробежался по папкам» а посмотрел, что устанавливалось в системе накануне и наткнулся на файл jdk-8u191-windows-x64.exe. Посмотрел на сайте Oracle — это последняя версия JDK. На этом успокоился, тем более что всё работает как часы.

У меня тоже есть файл jdk-8u191, и JDK 8 но юзаю я последнюю ( а это JDK 11).
Откуда я знаю что на конкретный проект у меня JDK 11? В IDE на проекте правый клик — свойства — библиотеки (текущая и на выбор)



0



0 / 0 / 0

Регистрация: 19.09.2017

Сообщений: 6

16.02.2020, 14:45

14

Извините, за такой вопрос, если у меня стоит jdk1.8.0_221 то это значит что у меня стоит 8-я jdk? Смущает 1



0



Йуный падаван

Эксперт PythonЭксперт Java

14004 / 8203 / 2481

Регистрация: 21.10.2017

Сообщений: 19,687

16.02.2020, 14:51

15

Цитата
Сообщение от niyazmoti
Посмотреть сообщение

у меня стоит 8-я jdk?

да.



0



-39 / 83 / 10

Регистрация: 26.06.2013

Сообщений: 4,175

26.03.2022, 07:28

16

Что — то не пойму, надо ли менять в Windows 10 переменные среды, чтобы 18 последняя версия отображалась, которую скачал вчера, а не 17. Посмотрел в переменных среды и не нашел, где написано про 17 версию, чтобы заменить на 18.

Код

c:j1>java -version
java version "18" 2022-03-22
Java(TM) SE Runtime Environment (build 18+36-2087)
Java HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)

c:j1>javac -version
javac 18

Миниатюры

Как узнать какая версия JDK у меня установлена?
 



0



Йуный падаван

Эксперт PythonЭксперт Java

14004 / 8203 / 2481

Регистрация: 21.10.2017

Сообщений: 19,687

26.03.2022, 07:33

17

supmener, ты вообще понимаешь, что такое PATH?
Сомневаюсь.



0



-39 / 83 / 10

Регистрация: 26.06.2013

Сообщений: 4,175

26.03.2022, 09:42

18

Понимаю, потому что в более ранних версиях Пайтон следил за путем до него в PATH в Windows XP.



0



Йуный падаван

Эксперт PythonЭксперт Java

14004 / 8203 / 2481

Регистрация: 21.10.2017

Сообщений: 19,687

26.03.2022, 14:20

19

Цитата
Сообщение от supmener
Посмотреть сообщение

Понимаю

Не понимаешь. Ни питон, ни джава, ни все остальные никоим образом не «следят за путем до него в PATH».



0



-39 / 83 / 10

Регистрация: 26.06.2013

Сообщений: 4,175

26.03.2022, 14:51

20

Если ввожу в консоли python для перехода в режим интерпретатора Пайтон, то путь берется из PATH, так думаю.



0



Установка JDK

JDK (Java Development Kit) — это комплект разработки для JVM-платформы, включающий в себя Java-компилятор, стандартные библиотеки, различные утилиты, а также среду выполнения JRE (Java Runtime Environment). Наличие установленной JDK обязательно для ведения разработки на Scala (как и на любом другом JVM-языке).

Как проверить, установлена ли JDK?

Если Вы уже запускали Java-приложения на своем компьютере, то с наибольшей вероятностью у Вас имеется установленная JRE.

Наличие JRE не обязательно означает, что у Вас есть JDK.

  1. Проверьте версию JRE:
  • java -version
    java version "1.6.0_37"
    Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909)
    Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode)
  • Последние цифры версий, номера сборок, а также разрядность и архитектура в приведенных примерах могут отличаться от значений на Вашей платформе.

2. Проверьте версию компилятора:

javac -version
javac 1.6.0_37

3. Найдите каталог инсталляции JDK. Проверьте следующие стандартные пути в соответствие с Вашей операционной системой (номера версий могут отличаться):

  • Windows C:Program FilesJavajdk1.6.0_30
  • Linux /usr/lib/jvm/jdk1.6.0_30
  • Mac OS X /System/Library/Frameworks/JavaVM.framework/Home

4. Убедитесь, что переменная окружения JAVA_HOME указывает на каталог инсталляции, а также что путь к $JAVA_HOME/bin (%JAVA_HOME%bin) включен в переменную окружения PATH.

Если какой-либо из пунктов вызывает у Вас проблемы, пожалуйста, прочитайте еще раз введение к курсу IT1205: Программирование Java SE, где подробно описан процесс корректрой установки JDK.

Комплект для разработки Java (JDK) содержит инструменты для разработки Java, а Среда выполнения Java (JRE) содержит JVM для преобразования байтового кода .class для машинного кода и его выполнения, короче говоря, JRE запускает программу Java.

Проверьте версию JDK Мы можем использовать java-версию чтобы узнать версию установленного JDK. В приведенном ниже примере версия JDK равна

$ javac -version

javac 11.0.7

Проверьте версию JRE Мы можем использовать java-версию , чтобы узнать версию установленной JRE. В приведенном ниже примере версия JRE равна 1.8.0_252

$ java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~19.10-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

Версии JDK и JRE могут отличаться на одном компьютере. На одном компьютере разрешено несколько версий JDK и JRE; лучше выяснить, какая версия настроена в системном пути к классам для запуска или компиляции программы Java.

JDK также содержит JRE для запуска программы Java.

$JAVA_HOME/bin/java     <-- JDK
$JAVA_HOME/jre/bin/java <-- JRE

1.1 В Ubuntu или Linux мы можем использовать какой javac , чтобы узнать, где установлен JDK.

$ which javac
/usr/bin/javac

$ ls -lsah /usr/bin/javac
/usr/bin/javac -> /etc/alternatives/javac

$ ls -lsah /etc/alternatives/javac
/etc/alternatives/javac -> /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/javac

$ cd /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/
$ ./javac -version
javac 11.0.7

В приведенном выше примере JDK установлен по адресу /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/ .

1.2 В Windows мы можем использовать где javac , чтобы узнать, где установлен JDK.

Microsoft Windows [Version 10.0.18362.900]
(c) 2019 Microsoft Corporation. All rights reserved.

C:Usersmkyong>which javac
'which' is not recognized as an internal or external command,
operable program or batch file.

C:Usersmkyong>where javac
C:optjdk-11.0.1binjavac.exe

Нужен ли мне JDK или JRE? Для конечных пользователей им необходимо установить JRE для запуска программы Java, а JDK предназначен для разработчиков. В производственной среде команде развертывания необходимо установить JRE только для запуска программы Java. Однако разработчики часто запрашивают установку JDK вместо автономной JRE на рабочем сервере, поскольку JDK содержит JRE, а также дополнительные инструменты для мониторинга и отладки запущенной Java-программы.

Рекомендации

  • Википедия – Набор для разработки Java (JDK)
  • Википедия – Виртуальная машина Java
  • Как установить Java JDK на Ubuntu

Оригинал: “https://mkyong.com/java/how-to-check-current-java-version-installed-in-your-computer/”


  • Метки


    computer, jre, terminal, version

Понравилась статья? Поделить с друзьями:
  • Как узнать чем забит диск с windows 11
  • Как узнать установлен ли directx 12 для windows 10
  • Как узнать чем активирована windows 7
  • Как узнать у меня 32 или 64 битная система windows 10
  • Как узнать часы работы жесткого диска windows 10