This question already has an answer here:

I am using Ubuntu 14.04.1 LTS, x64 architecture, and I specifically need to install Oracle Java. Now I know there are some instructions on the website which I follow but the same website does not recognize it. Can any one please help me with some instructions? Thanks!

marked as duplicate by fossfreedom Sep 7 '14 at 16:16

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    You want to install JRE (just to run java apps) or JDK (you want to develop java apps)? Also which version you want to install (Java 6, 7 or 8)? – Salem Sep 7 '14 at 13:20
  • I want the development kit, the latest, version 8. – Dan Sep 7 '14 at 13:21
  • You can simplify installing oracle jdk/jre with this script – Jahid Dec 24 '15 at 11:01
up vote 413 down vote accepted

Using a PPA

You can use WebUpd8 PPA (this will download the required files from Oracle and install JDK 8):

sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Are PPA's safe to add to my system and what are some “red flags” to watch out for?

Also ensure your JAVA_HOME variable has been set to:


For this you can use the following command (see step 3 of Manual Install to see how to make it permanent):

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

Manual install

The tar.gz provided by Oracle don't have an actual installation process. You just extract those files to a location you want and add them to your path. So the process is the following:

  • Download a .tar.gz from Oracle (here I will be using jdk-8u20-linux-x64.tar.gz);
  • Extract it to somewhere;
  • Move the extracted folder to /usr/lib/jvm. This is not required but it is the place where Java runtime software is installed, and where tools like IDE's may search for it:

    sudo mv /path/to/jdk1.8.0_20 /usr/lib/jvm/oracle_jdk8
  • Before addin this jdk as an alternative, you can see that the new alternative is not listed:

    sudo update-alternatives --query java
    sudo update-alternatives --query javac
  • Next, add the new jdk alternatives (2000 is the priority and feel free to pick a different number):

    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/oracle_jdk8/jre/bin/java 2000
    sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/oracle_jdk8/bin/javac 2000
  • Now you should see the new jdk listed and you can switch between the alternatives with this command:

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
  • Create a file /etc/profile.d/ with the following content (adapt the paths to reflect the path where you stored your JDK):

    export J2SDKDIR=/usr/lib/jvm/oracle_jdk8
    export J2REDIR=/usr/lib/jvm/oracle_jdk8/jre
    export PATH=$PATH:/usr/lib/jvm/oracle_jdk8/bin:/usr/lib/jvm/oracle_jdk8/db/bin:/usr/lib/jvm/oracle_jdk8/jre/bin
    export JAVA_HOME=/usr/lib/jvm/oracle_jdk8
    export DERBY_HOME=/usr/lib/jvm/oracle_jdk8/db

Done! Those paths will only be recognized after you logout or restart, so if you want to use them right away run source /etc/profile.d/

  • Thanks again and I accept the answer but please, can you show me the manual version, I mean how to install the tar.gz file. – Dan Sep 7 '14 at 14:18
  • I'm going to assume you know how to follow the instructions to install the tar.gz file. The problem is that website doesn't have java 8. So how did you download it? Did you go to – Chan-Ho Suh Sep 7 '14 at 14:23
  • @Chan-HoSuh The files you want are here – Salem Sep 7 '14 at 15:05
  • 1
    @user244986 See my edit. Please note that the PPA process is more or less the same as the manual one (ie the installation of that package only downloads a script to do basically the same). – Salem Sep 7 '14 at 15:20
  • Sorry I didn't even see yes, you are rigth it was JDK 7 all this time, just one question, how did you know which wariable to export, and why? – Dan Sep 7 '14 at 16:17

Not the answer you're looking for? Browse other questions tagged or ask your own question.