Oracle, IBM, or Open JDK? How to Know Java Vendor Details

Yogesh Chavan HackerNoon profile picture

Yogesh Chavan

keep learning… keep building…

We often come across a situation where we need to know what kind of java JDK is installed on a particular server. It could be the JDK from Oracle or IBM or an Open JDK.

I came across one such situation when connecting to IBM MQ channels over SSL from a client where java was installed. However, the java client program could not connect MQ channels despite all the MQ configurations and settings being correct at the client end and even on the server end.

Later, based on the error codes and after some google search, I learned that if the java client is not running on IBM java, we need to set special arguments. After setting those up, it started working.

Here I would like to mention a simple java command that will provide us the vendor details describing what vendors java implementation has been installed on that particular server. The command is simple but shows a lot of information that we would like to know in some other situations.

Oracle JDK

C:UsersYohan>java -XshowSettings:properties -version
Property settings:
awt.toolkit = sun.awt.windows.WToolkit
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = .
java.class.version = 52.0
java.endorsed.dirs = C:Program FilesJavajre1.8.0_60libendorsed
java.ext.dirs = C:Program FilesJavajre1.8.0_60libext
C:WindowsSunJavalibext
java.home = C:Program FilesJavajre1.8.0_60
java.io.tmpdir = C:UsersYohanAppDataLocalTempjava.library.path = C:ProgramDataOracleJavajavapath
C:WindowsSunJavabin
C:Windowssystem32
C:Windows
G:YOHANoracle19WINDOWS.X64_193000_db_homebin
G:YOHANOracleSoftware_19versionWINDOWS.X64_193000_db_homebin
C:Program FilesGitcmd
C:ProgramDataOracleJavajavapath
C:Windowssystem32
C:Windows
C:WindowsSystem32Wbem
C:WindowsSystem32WindowsPowerShellv1.0C:Program Files (x86)MySQLMySQL Fabric 1.5 ^& MySQL Utilities 1.5C:Program FilesTortoiseSVNbin
C:Program Files (x86)Javajdk1.8.0_60/bin
G:softwaresapache-maven-3.2.2/bin
C:Program FilesMicrosoft VS Codebin
C:Program Fileodejs C:UsersYohanAppDataRoamingnpm
    C:Program Filesnodejs
    .
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.8.0_60-b27
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 1.8
java.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
java.version = 1.8.0_60
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.8
java.vm.vendor = Oracle Corporation
java.vm.version = 25.60-b23
line.separator = r n
os.arch = amd64
os.name = Windows 8.1
os.version = 6.3
path.separator = ;
sun.arch.data.model = 64
sun.boot.class.path = C:Program FilesJavajre1.8.0_60libresources.jar
    C:Program FilesJavajre1.8.0_60librt.jar
    C:Program FilesJavajre1.8.0_60libsunrsasign.jar
    C:Program FilesJavajre1.8.0_60libjsse.jar
    C:Program FilesJavajre1.8.0_60libjce.jar
    C:Program FilesJavajre1.8.0_60libcharsets.jar
    C:Program FilesJavajre1.8.0_60libjfr.jar
    C:Program FilesJavajre1.8.0_60classes
sun.boot.library.path = C:Program FilesJavajre1.8.0_60bin
sun.cpu.endian = little
sun.cpu.isalist = amd64
sun.desktop = windows
sun.io.unicode.encoding = UnicodeLittle
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = Cp1252
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
sun.os.patch.level =
sun.stderr.encoding = cp437
sun.stdout.encoding = cp437
user.country = US
user.dir = C:UsersYohan
user.home = C:UsersYohan
user.language = en
user.name = Yohan
user.script =
user.timezone =
user.variant =
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

IBM JDK

G:YOHANsoftwares_1ibmibm_sdk80bin>java -XshowSettings:properties -version
Property settings:
awt.toolkit = sun.awt.windows.WToolkit
com.ibm.cpu.endian = little
com.ibm.jcl.checkClassPath =
com.ibm.oti.configuration = scar
com.ibm.oti.shared.enabled = false
com.ibm.oti.vm.bootstrap.library.path = G:YOHANsoftwares_1ibmibm_sdk80jrebindefault
G:YOHANsoftwares_1ibmibm_sdk80jrebin
com.ibm.oti.vm.library.version = 29
com.ibm.system.agent.path = G:YOHANsoftwares_1ibmibm_sdk80jrebin
com.ibm.util.extralibs.properties =
com.ibm.vm.bitmode = 32
com.ibm.zero.version = 2
console.encoding = Cp437
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = ibm.signalhandling.rs = false
ibm.signalhandling.sigchain = true
ibm.signalhandling.sigint = true
ibm.system.encoding = Cp1252
java.awt.fonts =
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = .
java.class.version = 52.0
java.compiler = j9jit29
java.endorsed.dirs = G:YOHANsoftwares_1ibmibm_sdk80jrelibendorsed
java.ext.dirs = G:YOHANsoftwares_1ibmibm_sdk80jrelibext
java.fullversion = 8.0.6.35 - pwi3280sr6fp35-20210714_01(SR6 FP35)
JRE 1.8.0 Windows 8.1 x86-32-Bit 20210622_7763 (JIT enabled, AOT enabled)
OpenJ9   - b1f3adb
OMR      - c2f4a18
IBM      - c24a144
java.home = G:YOHANsoftwares_1ibmibm_sdk80jre
java.io.tmpdir = C:UsersYohanAppDataLocalTempjava.lang.stringBuffer.growAggressively = false
java.library.path = G:YOHANsoftwares_1ibmibm_sdk80jrebindefault
G:YOHANsoftwares_1ibmibm_sdk80jrebin
C:WindowsSysWOW64
C:Windows
G:YOHANoracle19WINDOWS.X64_193000_db_homebin
G:YOHANOracleSoftware_19versionWINDOWS.X64_193000_db_homebin
C:Program FilesGitcmd
C:ProgramDataOracleJavajavapath
C:Windowssystem32
C:Windows
C:WindowsSystem32Wbem
C:WindowsSystem32WindowsPowerShellv1.0C:Program Files (x86)MySQLMySQL Fabric 1.5 ^& MySQL Utilities 1.5C:Program FilesTortoiseSVNbin
C:Program Files (x86)Javajdk1.8.0_60/bin
G:softwaresapache-maven-3.2.2/bin
C:Program FilesMicrosoft VS Codebin
C:Program Fileodejs
C:UsersYohanAppDataRoamingnpm
    C:Program Filesnodejs
    .
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 8.0.6.35 - pwi3280sr6fp35-20210714_01(SR6 FP35)
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 1.8
java.vendor = IBM Corporation
java.vendor.url = http://www.ibm.com
java.version = 1.8.0_301
java.vm.info = JRE 1.8.0 Windows 8.1 x86-32-Bit 20210622_7763 (JIT enabled, AOT enabled)
OpenJ9   - b1f3adb
OMR      - c2f4a18
IBM      - c24a144
java.vm.name = IBM J9 VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.8
java.vm.vendor = IBM Corporation
java.vm.version = 2.9
line.separator = r
os.arch = x86
os.encoding = UTF8
os.name = Windows 8.1
os.version = 6.3
path.separator = ;
sun.arch.data.model = 32
sun.boot.class.path = G:YOHANsoftwares_1ibmibm_sdk80jrebindefaultjclSC180vm.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibse-service.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibmath.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmorb.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmorbapi.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmcfw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmpkcs.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmcertpathfw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmjgssfw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmjssefw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmsaslfw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmjcefw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmjgssprovider.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmjsseprovider2.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibibmcertpathprovider.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibxmldsigfw.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibxml.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibcharsets.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibresources.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibrt.jar
G:YOHANsoftwares_1ibmibm_sdk80jrelibdataaccess.jar
sun.boot.library.path = G:YOHANsoftwares_1ibmibm_sdk80jrebindefault
G:YOHANsoftwares_1ibmibm_sdk80jrebin
sun.cpu.endian = little
sun.desktop = windows
sun.io.unicode.encoding = UnicodeLittle
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = Cp1252
user.country = US
user.dir = G:YOHANsoftwares_1ibmibm_sdk80bin
user.home = C:UsersYohan
user.language = en
user.name = Yohan
user.timezone =
user.variant =

java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 8.0.6.35 - pwi3280sr6fp35-20210714_01(SR6 FP35))
IBM J9 VM (build 2.9, JRE 1.8.0 Windows 8.1 x86-32-Bit 20210622_7763 (JIT enabled, AOT enabled)
OpenJ9   - b1f3adb
OMR      - c2f4a18
IBM      - c24a144)
JCL - 20210625_01 based on Oracle jdk8u301-b09

Open JDK

G:YOHANsoftwares_1openjdk11bin>java -XshowSettings:properties -version
Property settings:
awt.toolkit = sun.awt.windows.WToolkit
file.encoding = Cp1252
file.separator = java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path =
java.class.version = 55.0
java.home = G:YOHANsoftwares_1openjdk11
java.io.tmpdir = C:UsersYohanAppDataLocalTempjava.library.path = G:YOHANsoftwares_1openjdk11bin
C:WindowsSunJavabin
C:Windowssystem32
C:Windows
G:YOHANoracle19WINDOWS.X64_193000_db_homebin
G:YOHANOracleSoftware_19versionWINDOWS.X64_193000_db_homebin
C:Program FilesGitcmd
C:ProgramDataOracleJavajavapath
C:Windowssystem32
C:Windows
C:WindowsSystem32Wbem
C:WindowsSystem32WindowsPowerShellv1.0C:Program Files (x86)MySQLMySQL Fabric 1.5 ^& MySQL Utilities 1.5C:Program FilesTortoiseSVNbin
C:Program Files (x86)Javajdk1.8.0_60/bin
G:softwaresapache-maven-3.2.2/bin
C:Program FilesMicrosoft VS Codebin
C:Program Fileodejs
 C:UsersYohanAppDataRoamingnpm
    C:Program Filesnodejs
    .
java.runtime.name = OpenJDK Runtime Environment
java.runtime.version = 11.0.12+7-LTS
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 11
java.vendor = Red Hat, Inc.
java.vendor.url = https://access.redhat.com/
java.vendor.url.bug = https://bugzilla.redhat.com/enter_bug.cgi
java.vendor.version = 18.9
java.version = 11.0.12
java.version.date = 2021-07-20
java.vm.compressedOopsMode = Zero based
java.vm.info = mixed mode
java.vm.name = OpenJDK 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 11
java.vm.vendor = Red Hat, Inc.
java.vm.version = 11.0.12+7-LTS
jdk.debug = release
line.separator = r n
os.arch = amd64
os.name = Windows 8.1
os.version = 6.3
path.separator = ;
sun.arch.data.model = 64
sun.boot.library.path = G:YOHANsoftwares_1openjdk11bin
sun.cpu.endian = little
sun.cpu.isalist = amd64
sun.desktop = windows
sun.io.unicode.encoding = UnicodeLittle
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = Cp1252
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
sun.os.patch.level =
sun.stderr.encoding = cp437
sun.stdout.encoding = cp437
user.country = US
user.dir = G:YOHANsoftwares_1openjdk11bin
user.home = C:UsersYohan
user.language = en
user.name = Yohan
user.script =
user.timezone =
user.variant =
openjdk version "11.0.12" 2021-07-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode)

That’s it! Stay tuned for more stories 🙂

Tags

Leave a Comment