Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an ubuntu system and I want to replace my openjdk with oracle-jdk.

However if I remove my open-jdk and then install oracle-jdk, when I try to install some packages they want to install openjdk and I don't want this.

Is there any way to install those packages on top of oracle-jdk? One of those packages is freemind.

share|improve this question

migrated from Mar 6 '14 at 17:22

This question came from our site for professional and enthusiast programmers.

Which packages require open-jdk that you want to install? (besides freemind) – Seth Mar 6 '14 at 17:24
up vote 47 down vote accepted

You can completely remove the OpenJDK and fresh Install Oracle Java JDK by the following steps:

  1. Remove OpenJDK completely by this command:

    sudo apt-get purge openjdk-\*
  2. Download the Oracle Java JDK here.

    Note: download appropriate file, for example if your system is x64 Ubuntu (i.e, Debian) the download file is named like this: jdk-8u51-linux-x64.tar.gz

    To find which version is your OS, check here

  3. Create a folder named java in /usr/local/by this command:

    sudo mkdir -p /usr/local/java
  4. Copy the Downloaded file in the directory /usr/local/java. To do this, cd into directory where downloaded file is located and use this command for copying that file to /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD into /usr/local/java/ directory and extract that copied file by using this command:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. After extraction you must see a folder named jdk1.8.0_51.

  7. Update PATH file by opening /etc/profile file by the command sudo nano /etc/profile and paste the following at the end of the file:

    export JAVA_HOME
    export PATH
  8. Save and exit.

  9. Tell the system that the new Oracle Java version is available by the following commands:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
  10. Make Oracle Java JDK as default by this following commands:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
  11. Reload sytem wide PATH /etc/profile by this command:

    source /etc/profile
  12. Reboot your system.

  13. Check Java JDK version by java -version command . If installation is succesful, it will display like the following:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)

That's it!

Note: We Assumed that the downloaded file is named jdk-8u51-linux-x64.tar.gz and used this name in all the commands used in steps 2, 4 and 5. It may depends on the type of O.S, processor type (i.e., 32bit or 64bit)

share|improve this answer
Beside this is the correct way to manually install oracle-jdk there is a package available from WebUpd8 PPA which will be updated, too. So there is no need to install every new version manually. See my answer here:… – lschuetze Apr 1 '15 at 9:21
Instead of using the directory jdk1.8.0_51, create a symlink named just "jdk" to this directory and next time you update just extract the JDK tarball and recreate the symlink and you're done. – ColinM Aug 4 '15 at 18:37
for ubuntu users: theres a foolproof method below from @mihaic that works well for me – Carson Ip Dec 26 '15 at 8:30

You don't need to remove openjdk in order to use / install the oracle's jdk. Just install the oracle's jdk and configure which java you want to use by configuring it with:

sudo update-alternatives --config java

You can find more help here:

share|improve this answer
I need a way to have only one java on my ubuntu. tnx. – little ali Mar 6 '14 at 11:48

After removing openjdk, try this approach that worked for me:

Install oracle jdk 7 on ubuntu server (tested with ubuntu 12.0.4)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

some more info here:

(note to adapt this for your version of jdk)

share|improve this answer

Tested in Ubuntu 14.04/16.04. In three steps:

  1. Install the oracle-java7-installer (or oracle-java8-installer) from the webupd8team repository

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Make sure it works. The following command should display something

    java -version

    will display something similar to:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
  3. (Optional) Remove the open-jdk if you really want/need to:

    sudo apt-get purge openjdk-\*

You can find more information here

share|improve this answer
Followed your directions and got a Unable to find java executable. Check JAVA_HOME and PATH environment variables. error – Zack S Jul 28 '15 at 16:59
surprised of finding my own answer one year later, this still works for Ubuntu 16.04 and oracle-java8-installer – toto_tico Jun 24 at 13:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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