How to set Oracle's Java as the default Java in Ubuntu?
I put the line:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
in my ~/.bashrc
file.
/usr/lib/jvm/java7-oracle
should be a symbolic link pointing to /usr/lib/jvm/java-7-oracle-[version number here]
.
The reason it's a symbolic link is that in case there's a new version of the JVM, you don't need to update your .bashrc
file, it should automatically point to the new version.
If you want to set JAVA_HOME
environment variables globally and at system level means use should set in /etc/environment
file.
If you want to change it globally and at system level;
In
/etc/environment
add this line:
JAVA_HOME=/usr/lib/jvm/java-7-oracle
to set Oracle's Java SE Development Kit as the system default Java just download the latest Java SE Development Kit from here then create a directory somewhere you like in your file system for example /usr/java
now extract the files you just downloaded in that directory:
$ sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/java
now to set your JAVA_HOME
environment variable:
$ JAVA_HOME=/usr/java/jdk1.8.0_05/
$ sudo update-alternatives --install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 20000
$ sudo update-alternatives --install /usr/bin/javac javac ${JAVA_HOME%*/}/bin/javac 20000
make sure the Oracle's java is set as default java by:
$ update-alternatives --config java
you get something like this:
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /opt/java/jdk1.8.0_05/bin/java 20000 auto mode
1 /opt/java/jdk1.8.0_05/bin/java 20000 manual mode
2 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 manual mode
Press enter to keep the current choice[*], or type selection number:
pay attention to the asterisk before the numbers on the left and if the correct one is not set choose the correct one by typing the number of it and pressing enter. now test your java:
$ java -version
if you get something like the following, you are good to go:
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)
also note that you might need root permission or be in sudoers group to be able to do this. I've tested this solution on both ubuntu 12.04 and Debian wheezy and it works in both of them.