1

On checking with java -version get the output as

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)

Wants to ensure this openjdk binary is from oracle or redhat. While checking on JMX VM Summary page it shows the Vendor name as "Oracle Corporation". Does this mean its oracle provided openjdk distribution ?

What should be the vendor name for RedHat OpenJDK distribution ?

omajid
  • 14,165
  • 4
  • 47
  • 64
tarunk
  • 549
  • 2
  • 7
  • 17

3 Answers3

2

In general, java -version from Oracle's builds say

java version ...

Instead of

openjdk version ....

The java.vendor system property, unfortunately, has compatibility issues. It can't be changed without (potentially) breaking users.

For example, changing that property from Sun to Oracle once broke eclipse: https://it.slashdot.org/story/10/07/28/2121259/oracles-java-company-change-breaks-eclipse

So OpenJDK distributors are very very cautious about changing these vendor properties. Pretty much everyone will stick to the default values for pretty much all the system properties.

If you have installed OpenJDK on RHEL and you are using the java-*-openjdk packages, those have been built and are being maintained by Red Hat. You can find out what package that is by using rpm:

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

If you see java-1.8.0-openjdk-headless, that's the package maintained by Red Hat.

omajid
  • 14,165
  • 4
  • 47
  • 64
1

openjdk is from oracle. i think the redhat just put binaries of openjdk in their repository. so the vendorname is oracle.

Globe Admin
  • 431
  • 1
  • 7
  • 13
  • 2
    Thanks @globe-admin , However I believe RedHat is not just giving raw openjdk binaries, its giving their version which might/will have security patches/updates as and when needed as per their support policy. https://access.redhat.com/articles/1299013 – tarunk Jan 07 '19 at 09:52
  • redhat is providing open jdk at the moment . https://openjdk.java.net/install/ . Fedora, Oracle Linux, Red Hat Enterprise Linux, etc. On the command line, type: $ su -c "yum install java-1.8.0-openjdk" The java-1.8.0-openjdk package contains just the Java Runtime Environment. If you want to develop Java programs then install the java-1.8.0-openjdk-devel package – Globe Admin Jan 07 '19 at 10:02
  • https://www.redhat.com/en/blog/technological-transition-openjdk this link clearly says redhat will independently support openjdk binaries for their subscription clients. This means while openjdk original source/binaries from oracle at jdk.java.net might have security issue yet to be fixed, the vendors like RedHat/Azul/ would give fixes on their distribution which they might/will merge to openjdk also but no grantee of when , as openjdk does not have support contract. – tarunk Jan 08 '19 at 11:33
  • For me __openjdk__ as vendor worked for the Java 1.8 Openjdk. I had to insert it as vendor into the ~/.m2/toolchain.xml at /toolchains/toolchain/provides/vendor. Take a look here: https://stackoverflow.com/a/62938322/845117 – Dirk Schumacher Jul 16 '20 at 15:59
0

Oracle jdk is named as Hotspot

$ java -version

java version "1.8.0_31"

Java(TM) SE Runtime Environment (build 1.8.0_31-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

Non-oracle jdk

$ 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)

Maverick
  • 626
  • 6
  • 11