How to install JDK on Ubuntu

In this example, we will show you how to install JDK 7 on Ubuntu 12.

1. Find Openjdk

Ubuntu is using OpenJDK, in terminal, issue this command apt-cache search openjdk to get all the available Openjdk version.

$ apt-cache search openjdk
default-jdk - Standard Java or Java compatible Development Kit
default-jdk-doc - Standard Java or Java compatible Development Kit (documentation)
default-jre - Standard Java or Java compatible Runtime
default-jre-headless - Standard Java or Java compatible Runtime (headless)
icedtea-7-jre-jamvm - Alternative JVM for OpenJDK, using JamVM
icedtea-7-plugin - web browser plugin based on OpenJDK and IcedTea to execute Java applets
openjdk-7-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-7-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-7-doc - OpenJDK Development Kit (JDK) documentation
openjdk-7-jdk - OpenJDK Development Kit (JDK)
openjdk-7-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-7-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-7-jre-lib - OpenJDK Java runtime (architecture independent libraries)
openjdk-7-source - OpenJDK Development Kit (JDK) source files
java-package - Utility for creating Java Debian packages

2. Install Openjdk

To install, type this – apt-get install openjdk-7-jdk.

$sudo apt-get install openjdk-7-jdk

3. Verification

Ubuntu installed the JDK in this folder – /usr/lib/jvm/jdk-folder, for example /usr/lib/jvm/java-7-openjdk-amd64/. In additional, Ubuntu also puts the JDK bin folder in the system path, via symbolic link. For example, /usr/bin/java.

To verify if JDK is installed properly, type java -version.

java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.10.1)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

4. Post-Installation, JAVA_HOME

This step is optional, but recommended. To configure the JAVA_HOME in system path each time the terminal is started, just append the export JAVA_HOME to the end of /etc/profile or .bashrc.

For example.

Bash Terminal
$ echo $JAVA_HOME
//show nothing
$sudo echo export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/" >> ~/.bashrc
//restart terminal or use "source"
$ source ~/.bashrc 
$ echo $JAVA_HOME


Tags :

About the Author

Founder of and, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.


  • bhavesh

    its really a helpful post

  • Yashaswi

    for those who are looking to install SUN/Oracle jdk chk this –>>

  • sachin Dua

    sachin@sachin-Lenovo-G550:~$ java -version
    java version “1.7.0_21″
    OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
    OpenJDK Server VM (build 23.7-b01, mixed mode)

    when I apply this command this showe that java is installed in my system,but when I am going to compile any java program it gives the following error

    sachin@sachin-Lenovo-G550:~/programs$ javac
    The program ‘javac’ can be found in the following packages:
    * default-jdk
    * ecj
    * gcj-4.6-jdk
    * gcj-4.7-jdk
    * openjdk-7-jdk
    * openjdk-6-jdk
    Try: sudo apt-get install

    please tell me how to get rid of it & run my java program

  • blackbird014

    always interesting. Thanx for posting
    a little remark.
    you can correct
    opt-cache search openjdk
    apt-cache search openjdk

    I even copied and pasted half asleep haha

  • Kazuko

    I loved as much as you will receive carried out
    right here. The sketch is attractive, your authored subject matter stylish.
    nonetheless, you command get bought an impatience over that
    you wish be delivering the following. unwell unquestionably come
    more formerly again as exactly the same nearly a lot often inside
    case you shield this increase.

  • Prakhar

    You probably forgot to close tag after "JAVA_HOME" in your blog. It has messed up the formatting below line "in system path each time the terminal is started,"...

    • Prakhar

      oops..! it picked up tag and screwed my comment's formatting also.