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/oraclejdk.sh 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/oraclejdk.sh.
copied from askubuntu answer. 😁