Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何验证RHEL RedHatLinux机器上的哪个openjdk发行版供应商?_Java_Redhat Openjdk - Fatal编程技术网

Java 如何验证RHEL RedHatLinux机器上的哪个openjdk发行版供应商?

Java 如何验证RHEL RedHatLinux机器上的哪个openjdk发行版供应商?,java,redhat-openjdk,Java,Redhat Openjdk,在使用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”。这是否意味着

在使用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发行版的供应商名称应该是什么?

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

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

oracle jdk被命名为热点 $java-版本

java版本“1.8.0_31”

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

Java HotSpot(TM)64位服务器虚拟机(构建25.31-b07,混合模式)

非oracle jdk $java-版本

openjdk版本“1.8.0_191”

OpenJDK运行时环境(build 1.8.0_191-b12)

OpenJDK 64位服务器虚拟机(构建25.191-b12,混合模式)

Oracle jdk被命名为热点 $java-版本

java版本“1.8.0_31”

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

Java HotSpot(TM)64位服务器虚拟机(构建25.31-b07,混合模式)

非oracle jdk $java-版本

openjdk版本“1.8.0_191”

OpenJDK运行时环境(build 1.8.0_191-b12)


OpenJDK 64位服务器虚拟机(build 25.191-b12,混合模式)

一般来说,Oracle版本中的java版本

java version ...
而不是

openjdk version ....
不幸的是,
java.vendor
系统属性存在兼容性问题。如果不(可能)中断用户,则无法更改它

例如,一旦中断eclipse,将该属性从
Sun
更改为
Oracle

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

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

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

如果您看到
java-1.8.0-openjdk-headless
,这就是Red Hat维护的软件包。

一般来说,Oracle版本中的
java-version

java version ...
而不是

openjdk version ....
不幸的是,
java.vendor
系统属性存在兼容性问题。如果不(可能)中断用户,则无法更改它

例如,一旦中断eclipse,将该属性从
Sun
更改为
Oracle

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

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

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

如果您看到
java-1.8.0-openjdk-headless
,这就是Red Hat维护的软件包。

谢谢@globe admin,但是我相信RedHat不仅提供原始openjdk二进制文件,还提供了他们的版本,根据他们的支持政策,在需要时可能/将有安全补丁/更新。redhat目前正在提供开放jdk。Fedora、Oracle Linux、Red Hat Enterprise Linux等。在命令行上键入:$su-c“yum install java-1.8.0-openjdk”java-1.8.0-openjdk包只包含java运行时环境。如果您想开发Java程序,那么请安装Java-1.8.0-openjdk-devel包。该链接明确指出,redhat将为其订阅客户端独立支持openjdk二进制文件。这意味着,虽然oracle在jdk.java.net上提供的openjdk原始源代码/二进制文件可能存在尚未修复的安全问题,但RedHat/Azul/等供应商将对其发行版进行修复,他们可能/将在何时合并到openjdk,但没有授权人,因为openjdk没有支持合同。对于我来说,openjdk作为供应商为Java1.8OpenJDK工作。我必须将其作为供应商插入~/.m2/toolchain.xml中,位置为/toolchains/toolchain/provides/vendor。看看这里:谢谢@globe admin,但是我相信RedHat不仅仅提供原始的openjdk二进制文件,它还提供了他们的版本,根据他们的支持政策,在需要时可能会有安全补丁/更新。redhat目前正在提供开放jdk。Fedora、Oracle Linux、Red Hat Enterprise Linux等。在命令行上键入:$su-c“yum install java-1.8.0-openjdk”java-1.8.0-openjdk包只包含java运行时环境。如果您想开发Java程序,那么请安装Java-1.8.0-openjdk-devel包。该链接明确指出,redhat将为其订阅客户端独立支持openjdk二进制文件。这意味着,虽然oracle在jdk.java.net上提供的openjdk原始源代码/二进制文件可能存在尚未修复的安全问题,但RedHat/Azul/等供应商将对其发行版进行修复,他们可能/将在何时合并到openjdk,但没有授权人,因为openjdk没有支持合同。对于我来说,openjdk作为供应商为Java1.8OpenJDK工作。我必须将其作为供应商插入~/.m2/toolchain.xml中,位置为/toolchains/toolchain/provides/vendor。请看这里: