У меня 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-битные программы).