1

在使用 java -version 检查时,输出为

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

想要确保这个 openjdk 二进制文件来自 oracle 或 redhat。在检查 JMX VM 摘要页面时,它显示供应商名称为“Oracle Corporation”。这是否意味着它的 oracle 提供了 openjdk 发行版?

RedHat OpenJDK 发行版的供应商名称应该是什么?

4

3 回答 3

2

一般来说,java -version从 Oracle 的构建中说

java version ...

代替

openjdk version ....

不幸的java.vendor是,系统属性存在兼容性问题。如果没有(可能)破坏用户,就无法更改它。

例如,将该属性从更改SunOracle一次破坏 Eclipse:https ://it.slashdot.org/story/10/07/28/2121259/oracles-java-company-change-breaks-eclipse

因此,OpenJDK 分销商对于更改这些供应商属性非常谨慎。几乎每个人都会坚持几乎所有系统属性的默认值。

如果您已经在 RHEL 上安装了 OpenJDK 并且正在使用这些java-*-openjdk软件包,那么这些软件包已经由 Red Hat 构建和维护。您可以使用 rpm 找出是什么包:

rpm -qf $(readlink -f $(which java))

如果您看到java-1.8.0-openjdk-headless,那是 Red Hat 维护的包。

于 2019-03-25T03:12:35.200 回答
1

openjdk 来自 oracle。我认为redhat只是将openjdk的二进制文件放在他们的存储库中。所以供应商名称是 oracle。

于 2019-01-07T08:59:09.737 回答
0

Oracle jdk 被命名为 Hotspot

$ java -版本

java版本“1.8.0_31”

Java(TM) SE 运行时环境 (build 1.8.0_31-b13)

Java HotSpot(TM) 64 位服务器 VM(内部版本 25.31-b07,混合模式)

非oracle jdk

$ java -版本

openjdk 版本“1.8.0_191”

OpenJDK 运行时环境(内部版本 1.8.0_191-b12)

OpenJDK 64 位服务器 VM(内部版本 25.191-b12,混合模式)

于 2019-01-07T10:38:16.203 回答