After downloading the latest .tar file I ran tar zxvf jdk-7u45-linux-x64.tar.gz
to extract java files.
Set the path in .bashrc
file (vi ~/.bashrc
) as below;
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_45/bin/java export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_45/bin export JDK_HOME=/usr/lib/jvm/jdk1.7.0_45 export JRE_HOME=/usr/lib/jvm/jre1.7.0_45
Now, running command java -version
or which java, java PATH still pointing to the older java version (java version "1.6.0_27"
).
I know default ubuntu takes OpenJDK path. I have to change the path as latest version as my system environment variable set in .bashrc
file.
Also, sudo update-alternatives --config java
Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode * 3 /usr/lib/jvm/jdk1.7.0_45/bin/java 1 manual mode Press enter to keep the current choice[*], or type selection number: 3
So, Is OpenJDK the Same As Oracle JDK? OpenJDK has the same code as OracleJDK, depending on what provider you're using. The key difference (as stated above) is that OpenJDK is an open source java development kit, whereas Oracle JDK is closed source.
Ubuntu (and Debian) have an elegant way to manage libraries like the jdk
.
Using update-alternatives
you can manage multiple jdk
libraries on the same system, choosing which one you want to use as the main one.
First you have to install an alternative for the new installed jdk:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_45/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_45/bin/javac" 1
In this way you install the new jdk
as an alternative to the original one. Then you can choose which one you wan to use:
sudo update-alternatives --config java sudo update-alternatives --config javac
You will be asked to choose which jdk you want to use, on my system I have:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 auto mode 1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode * 2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 manual mode Press enter to keep the current choice[*], or type selection number:
At any time you can see what alternatives you have for java
or javac
using the --list
option:
sudo update-alternatives --list java sudo update-alternatives --list javac
To see more options check the update-alternatives
man page.
You probably want to do
export PATH=/usr/lib/jvm/jdk1.7.0_45/bin:$PATH
OpenJDK is probably still in the path, and Linux will use the first java
it finds.
If you don't need it, I would recommend uninstalling OpenJDK.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With