Как проверить, какой поставщик дистрибутива openjdk на машине RHEL RedHatLinux?
При проверке с помощью java -version получите выходные данные в виде openjdk версии "1.8.0_191" Среда выполнения OpenJDK (сборка 1.8.0_191-b12) Виртуальная 64-разрядная серверная виртуальная машина OpenJDK (сборка 25.191-b12, смешанный режим)
Хочет, чтобы этот бинарный файл openjdk был от oracle или redhat. При проверке на странице сводки виртуальной машины JMX имя поставщика отображается как "Oracle Corporation". Означает ли это, что его оракул предоставил дистрибутив openjdk?
Каким должно быть название поставщика для дистрибутива RedHat OpenJDK?
2 ответа
В общем, java -version
из сборок Oracle говорят
java version ...
Вместо
openjdk version ....
java.vendor
Системное свойство, к сожалению, имеет проблемы с совместимостью. Это не может быть изменено без (потенциально) взлома пользователей.
Например, изменение этого свойства с Sun
в Oracle
однажды сломало затмение: https://it.slashdot.org/story/10/07/28/2121259/oracles-java-company-change-breaks-eclipse
Поэтому дистрибьюторы OpenJDK очень и очень осторожно относятся к изменению свойств этих поставщиков. Практически все будут придерживаться значений по умолчанию для почти всех системных свойств.
Если вы установили OpenJDK на RHEL и используете java-*-openjdk
пакеты, которые были собраны и поддерживаются Red Hat. Вы можете узнать, что это за пакет, используя rpm:
rpm -qf $(readlink -f $(which java))
Если ты видишь java-1.8.0-openjdk-headless
Это пакет, поддерживаемый Red Hat.
openjdk от оракула. я думаю, что redhat просто поместил бинарные файлы openjdk в свой репозиторий. поэтому имя продавца - это оракул.
Oracle JDK называется Hotspot
$ java-версия
Java-версия "1.8.0_31"
Java (TM) SE Runtime Environment (сборка 1.8.0_31-b13)
Java HotSpot (TM) 64-битная серверная виртуальная машина (сборка 25.31-b07, смешанный режим)
Без оракула JDK
$ java-версия
openjdk версия "1.8.0_191"
Среда выполнения OpenJDK (сборка 1.8.0_191-b12)
64-битная серверная виртуальная машина OpenJDK (сборка 25.191-b12, смешанный режим)