Проверьте правильность версии JDK, установленной в macOS

У меня MacBook с установленной последней версией HighSierra и из системных настроек / панели Java. В нем говорится, что у меня установлена ​​последняя версия Java: java 8 update 181.

На вкладке «Java» вышеупомянутого диалогового окна «Параметры Java» я вижу, что версия 181, на которую он ссылается, установлена ​​в / Library / Internet Plug-Ins / JavaAppletPlugin.plugin / Contents / Home / bin / java.

Если я попытаюсь выполнить этот двоичный файл (т.е. java -версию), я действительно получу:

java version "1.8.0_181" 
Java(TM) SE Runtime Environment (build
1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

однако, когда я пытаюсь запустить «java» из общего приглашения или пытаюсь выполнить javac, я получаю другой результат:

java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

эта последняя java установлена ​​в /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/

Мне кажется, что у меня есть jre (181) и jdk (40), это правильно?

Если да, то это правильная настройка на Mac? Я начал задаваться вопросом, когда анализатор forticlient обнаружил множество проблем безопасности CVE, связанных с JDK, которые исправлены в обновлении 181.

«есть jre (181) и jdk (40)» - «JavaAppletPlugin» (181), скорее всего, является только JRE. Хотя насчет u40 не уверен; может быть JDK или JRE. Нередко, хотя и часто прискорбно (для не-разработчиков), одновременно установлено несколько версий Java, каждая из которых используется другим программным обеспечением (например, 64-битные или 32-битные программы).

JimmyB 04.10.2018 12:02
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
110
0

Другие вопросы по теме