24 C
Guru Unix /Linux and GNU supporter

OpenJDK vs Oracle JDK and install for Debian based Linux Systems

- Advertisement -
- Advertisement -

Both OpenJDK and Oracle JDK are created and maintained currently by Oracle only.

OpenJDK and Oracle JDK are implementations of the same Java specification passed the TCK (Java Technology Certification Kit).

Most of the vendors of JDK are written on top of OpenJDK by doing a few tweaks to [mostly to replace licensed proprietary parts / replace with more high-performance items that only work on specific OS] components without breaking the TCK compatibility.

Many vendors implemented the Java specification and got TCK passed. For example, IBM J9, Azul Zulu, Azul Zing, and Oracle JDK.

- Advertisement -

Almost every existing JDK is derived from OpenJDK.

As suggested by many, licensing is a change between JDKs.

Starting with JDK 11 accessing the long time support Oracle JDK/Java SE will now require a commercial license. You should now pay attention to which JDK you’re installing as Oracle JDK without subscription could stop working.

How to install java11 on Debian9 /mint 19/ Ubuntu 18 ?

A-Install OpenJDK  from the the standard repository

With this easy command you can install  openjdk  in all  above systems

sudo apt install default-jdk
[email protected]:~# java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
[email protected]:~#

B-Install JDK from Oralce 

From your Terminal console

wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" \

B1- Install Deb  file

 dpkg -i jdk-11.0.1_linux-x64_bin.deb

B2-configure Java 11 as the default version on your system.

[email protected]:~# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-11.0.1/bin/java 2
[email protected]:~# update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
0 /usr/lib/jvm/java-10-oracle/bin/java 1091 auto mode
1 /usr/bin/gij-6 1060 manual mode
* 2 /usr/lib/jvm/java-10-oracle/bin/java 1091 manual mode
3 /usr/lib/jvm/jdk-11.0.1/bin/java 2 manual mode

Press <enter> to keep the current choice[*], or type selection number: 3

The version 11 has been slected now.

There are some other binaries  like  jar  and javac to set as default for JDK installation with  the bellow commands

[email protected]:~# update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-11.0.1/bin/jar 2
[email protected]:~# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-11.0.1/bin/javac 2
[email protected]:~# update-alternatives --set jar /usr/lib/jvm/jdk-11.0.1/bin/jar
[email protected]:~# update-alternatives --set javac /usr/lib/jvm/jdk-11.0.1/bin/javac
[email protected]:~#

C-1-Check now Your  Java version

[email protected]:~# java -version
java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
[email protected]:~#

C-2-Set Environment variables for Java applications

Vi /etc/profile.d/jdk11.sh

export J2SDKDIR=/usr/lib/jvm/java-11.0.1
export J2REDIR=/usr/lib/jvm/java-11.0.1
export PATH=$PATH:/usr/lib/jvm/java-11.0.1/bin:/usr/lib/jvm/java-11.0.1/db/bin
export JAVA_HOME=/usr/lib/jvm/java-11.0.1
export DERBY_HOME=/usr/lib/jvm/java-11.0.1/db

C-3-Load the settings  without a reboot

source /etc/profile.d/jdk11.sh
[email protected]:~# java --version
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
[email protected]:~# jar --version
jar 11.0.1
[email protected]:~# javac --version
javac 11.0.1
[email protected]:~#

Please Enjoy and share


Please enter your comment!
Please enter your name here

Latest article