69

I am on UBUNTU. JDK version currently installed is:

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

the configuration being installed is:

sudo update-alternatives --config java
There is only one alternative in link group java 
(providing /usr/bin/java):     /usr/lib/jvm/java-7-oracle/jre/bin/java

I downloaded the latest tar.gz archive of JDK 1.8.

How can I easily install JDK 1.8 from tar.gz overriding/uninstalling the JDK 1.7 currently installed? Or even without explicitly use the tar.gz.

eis
  • 51,991
  • 13
  • 150
  • 199
Johan
  • 3,561
  • 9
  • 29
  • 45

6 Answers6

76

This is what I do on debian - I suspect it should work on ubuntu (amend the version as required + adapt the folder where you want to copy the JDK files as you wish, I'm using /opt/jdk):

wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u71-b15/jdk-8u71-linux-x64.tar.gz
sudo mkdir /opt/jdk
sudo tar -zxf jdk-8u71-linux-x64.tar.gz -C /opt/jdk/
rm jdk-8u71-linux-x64.tar.gz

Then update-alternatives:

sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_71/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_71/bin/javac 1

Select the number corresponding to the /opt/jdk/jdk1.8.0_71/bin/java when running the following commands:

sudo update-alternatives --config java
sudo update-alternatives --config javac

Finally, verify that the correct version is selected:

java -version
javac -version
assylias
  • 321,522
  • 82
  • 660
  • 783
51

Just use these command lines:

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

If needed, you can also follow this Ubuntu tutorial.

Michał Perłakowski
  • 88,409
  • 26
  • 156
  • 177
Kapcash
  • 6,377
  • 2
  • 18
  • 40
  • The java 8 installer seems to require interaction to agree to their TOS, even with `apt-get install -y`... Is there any way to force it to agree from the command line so that this can be automated, e.g. in Vagrant? – Adam Tuttle Apr 20 '16 at 20:33
  • When your system is behind a proxy, use 'sudo -E' to preserve environment, and make sure appropriate proxy env's are configured. – ChuckCottrill Apr 18 '17 at 23:24
  • Package 'oracle-java8-installer' has no installation candidate – Hikaru Shindo Feb 03 '22 at 05:07
41

Add the repository and update apt-get:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

Install Java8 and set it as default:

sudo apt-get install oracle-java8-set-default

Check version:

java -version
Laerte
  • 7,013
  • 3
  • 32
  • 50
19

You can easily install 1.8 via PPA. Which can be done by:

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

Then check the running version:

$ java -version

If you must do it manually there's already an answer for that on AskUbuntu here.

Community
  • 1
  • 1
SupaJord
  • 335
  • 2
  • 10
  • 1
    Can you tell me specifically which command failed? The first one? – SupaJord May 11 '15 at 21:50
  • The second one... lots of messages like these: W: Failed to fetch http://it.archive.ubuntu.com/ubuntu/dists/saucy-backports/restricted/binary-i386/Packages 404 Not Found [IP:... – Johan May 11 '15 at 21:54
  • Are you using an LTS release of Ubuntu? – SupaJord May 11 '15 at 22:04
  • lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 13.10 Release: 13.10 Codename: saucy – Johan May 11 '15 at 22:10
  • you think I should upgrade this Ubuntu to 14.04 LTS? – Johan May 11 '15 at 22:14
  • 1
    Ubuntu 13.10 is end-of-live and has been since July of 2014. Maybe they left the packages on the server for a while, but they are gone now. The best thing to do is installing a supported release of Ubuntu. Or if you don't want to upgrade you'll need to attempt a manual installation like I liked in the original answer. – SupaJord May 11 '15 at 22:20
  • 1
    I solved with this: http://askubuntu.com/questions/56104/how-can-i-install-sun-oracles-proprietary-java-jdk-6-7-8-or-jre – Johan May 11 '15 at 22:59
  • This does not differ from the answer above in any way. – fracz Feb 15 '16 at 08:20
  • Idk if you've noticed but I was the first to answer -_-' well besides Kapcash below who beat me by two minutes. – SupaJord Apr 11 '16 at 17:31
10

You can do the following to install java 8 on your machine. First get the link of tar that you want to install. You can do this by:

  1. go to java downloads page and find the appropriate download.
  2. Accept the license agreement and download it.
  3. In the download page in your browser right click and copy link address.

Then in your terminal:

$ cd /tmp
$ wget http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz\?AuthParam\=1458001079_a6c78c74b34d63befd53037da604746c
$ tar xzf jdk-8u74-linux-x64.tar.gz?AuthParam=1458001079_a6c78c74b34d63befd53037da604746c
$ sudo mv jdk1.8.0_74 /opt
$ cd /opt/jdk1.8.0_74/
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_91/bin/java 2
$ sudo update-alternatives --config java // select version
$ sudo update-alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_91/bin/jar 2
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_91/bin/javac 2
$ sudo update-alternatives --set jar /opt/jdk1.8.0_91/bin/jar
$ sudo update-alternatives --set javac /opt/jdk1.8.0_74/bin/javac
$ java -version // you should have the updated java
Community
  • 1
  • 1
Subash
  • 7,098
  • 7
  • 44
  • 70
2

Most of the answers for this question can not helped me in 2020.

This notification from download site of Oracle may be the reason:

Important Oracle JDK License Update

The Oracle JDK License has changed for releases starting April 16, 2019.

I try to google a little bit and those tutorials below helped me a lot.

  1. Remove completely the previous version of JVM installed on your PC.

    sudo update-alternatives --remove-all java
    sudo update-alternatives --remove-all javac
    sudo update-alternatives --remove-all javaws
    
    # /usr/lib/jvm/jdk1.7.0 is the path you installed the previous version of JVM on your PC
    sudo rm -rf /usr/lib/jvm/jdk1.7.0 
    

    Check to see whether java is uninstalled or not

    java -version
    
  2. Install Java 8 JDK.

    • Download Java 8 from Oracle's website. The version being used is 1.8.0_251. Pay attention to this value, you may need it to edit commands in this answer when Java 8 is upgraded to another version.
    • Extract the compressed file to the place where you want to install.

    cd /usr/lib/jvm
    sudo tar xzf ~/Downloads/jdk-8u251-linux-x64.tar.gz
    
    • Edit environment file

    sudo gedit /etc/environment
    
    • Edit the PATH's value by appending the string below to the current value

    :/usr/lib/jvm/jdk1.8.0_251/bin:/usr/lib/jvm/jdk1.8.0_251/jre/bin
    
    • Append those strings to the environment file

    J2SDKDIR="/usr/lib/jvm/jdk1.8.0_251"
    J2REDIR="/usr/lib/jvm/jdk1.8.0_251/jre"
    JAVA_HOME="/usr/lib/jvm/jdk1.8.0_251"
    
    • Complete the installation by running commands below

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0_251/bin/java" 0
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0_251/bin/javac" 0
    sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_251/bin/java
    sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_251/bin/javac
    
    update-alternatives --list java
    update-alternatives --list javac
    
dustin2022
  • 182
  • 2
  • 18