Install Oracle Java on Ubuntu Linux

This tutorial will cover the installation of 32-bit and 64-bit Oracle Java 7 (currently version number 1.7.0_45) JDK/JRE on 32-bit and 64-bit Ubuntu operating systems. These instructions will also work on Debian and Linux Mint.

If you already have Oracle Java 7 installed on your system but need to upgrade then use this method:

For those who only want to install Oracle Java JRE for running Java applications and not to develop Java programs use this method:

For those who want to install Oracle Java JDK to develop Java programs and applications (the Oracle Java JRE is also included in the Oracle JDK) use this method:

Also to enable/upgrade the Oracle Java in your web browsers:

Steps

  1. Check to see if your Ubuntu Linux operating system architecture is 32-bit or 64-bit, open up a terminal and run the following command below.
    • Type/Copy/Paste: file /sbin/init
      • Note the bit version of your Ubuntu Linux operating system architecture it will display whether it is 32-bit or 64-bit.
  2. Check if you have Java installed on your system. To do this, you will have to run the Java version command from terminal.
    • Open up a terminal and enter the following command:
      • Type/Copy/Paste: java -version
    • If you have OpenJDK installed on your system it may look like this:
      • java version "1.7.0_15"
        OpenJDK Runtime Environment (IcedTea6 1.10pre) (7b15~pre1-0lucid1)
        OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
    • If you have OpenJDK installed on your system, you have the wrong vendor version of Java installed for this exercise.
  3. Completely remove the OpenJDK/JRE from your system and create a directory to hold your Oracle Java JDK/JRE binaries. This will prevent system conflicts and confusion between different vendor versions of Java. For example, if you have the OpenJDK/JRE installed on your system, you can remove it by typing the following at the command line:
    • Type/Copy/Paste: sudo apt-get purge openjdk-\*
      • This command will completely remove OpenJDK/JRE from your system
    • Type/Copy/Paste: sudo mkdir -p /usr/local/java
      • This command will create a directory to hold your Oracle Java JDK and JRE binaries.
  4. Download the Oracle Java JDK/JRE for Linux. Make sure you select the correct compressed binaries for your system architecture 32-bit or 64-bit (which end in tar.gz).
    • For example, if you are on Ubuntu Linux 32-bit operating system download 32-bit Oracle Java binaries.
    • For example, if you are on Ubuntu Linux 64-bit operating system download 64-bit Oracle Java binaries.
    • Optional, Download the Oracle Java JDK/JRE Documentation
      • Select jdk-7u40-apidocs.zip
    • Important Information: 64-bit Oracle Java binaries do not work on 32-bit Ubuntu Linux operating systems, you will receive multiple system error messages, if you attempt to install 64-bit Oracle Java on 32-bit Ubuntu Linux.
  5. Copy the Oracle Java binaries into the /usr/local/java directory. In most cases, the Oracle Java binaries are downloaded to: /home/"your_user_name"/Downloads.
    • 32-bit Oracle Java on 32-bit Ubuntu Linux installation instructions:
      • Type/Copy/Paste: cd ~/Downloads
      • Type/Copy/Paste: sudo cp -r jdk-7u45-linux-i586.tar.gz /usr/local/java
      • Type/Copy/Paste: sudo cp -r jre-7u45-linux-i586.tar.gz /usr/local/java
      • Type/Copy/Paste: cd /usr/local/java
    • 64-bit Oracle Java on 64-bit Ubuntu Linux installation instructions:
      • Type/Copy/Paste: cd ~/Downloads
      • If you downloaded the JDK then Type/Copy/Paste: sudo cp -r jdk-7u45-linux-x64.tar.gz /usr/local/java
      • Or if you downloaded the JRE then Type/Copy/Paste: sudo cp -r jre-7u45-linux-x64.tar.gz /usr/local/java
      • Type/Copy/Paste: cd /usr/local/java
  6. Unpack the compressed Java binaries, in the directory /usr/local/java
    • 32-bit Oracle Java on 32-bit Ubuntu Linux installation instructions:
      • Type/Copy/Paste: sudo tar xvzf jdk-7u45-linux-i586.tar.gz
      • Type/Copy/Paste: sudo tar xvzf jre-7u45-linux-i586.tar.gz
    • 64-bit Oracle Java on 64-bit Ubuntu Linux installation instructions:
      • If you downloaded the JDK then Type/Copy/Paste: sudo tar xvzf jdk-7u45-linux-x64.tar.gz
      • Or if you downloaded the JRE then Type/Copy/Paste: sudo tar xvzf jre-7u45-linux-x64.tar.gz
  7. Double-check your directories. At this point, you should have one uncompressed binary directory in /usr/local/java for the Java JDK/JRE listed as:
    • Type/Copy/Paste: ls -a
    • jdk1.7.0_45
    • or jre1.7.0_45
  8. Edit the system PATH file /etc/profile and add the following system variables to your system path. Use nano, gedit or any other text editor, as root, open up /etc/profile.
    • Type/Copy/Paste: sudo gedit /etc/profile
    • or
    • Type/Copy/Paste: sudo nano /etc/profile
  9. Scroll down to the end of the file using your arrow keys and add the following lines below to the end of your /etc/profile file:
    • If you are installing the JDK then Type/Copy/Paste:
      JAVA_HOME=/usr/local/java/jdk1.7.0_45
      JRE_HOME=$JAVA_HOME/jre
      PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
      export JAVA_HOME
      export JRE_HOME
      export PATH
    • Or if you are installing the JRE then Type/Copy/Paste:
      JRE_HOME=/usr/local/java/jre1.7.0_45
      PATH=$PATH:$JRE_HOME/bin
      export JRE_HOME
      export PATH
    • Save the /etc/profile file and exit.
  10. Inform your Ubuntu Linux system where your Oracle Java JDK/JRE is located. This will tell the system that the new Oracle Java version is available for use.
    • If you are installing the JDK then Type/Copy/Paste: sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_45/jre/bin/java" 1
    • Or if you are installing the JRE then Type/Copy/Paste: sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jre1.7.0_45/bin/java" 1
      • this command notifies the system that Oracle Java JRE is available for use
    • Only if you are installing the JDK then Type/Copy/Paste: sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.7.0_45/bin/java" 1
      • this command notifies the system that Oracle Java JDK is available for use
    • Type/Copy/Paste: sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jre1.7.0_45/bin/javaws" 1
      • this command notifies the system that Oracle Java Web start is available for use
  11. Inform your Ubuntu Linux system that Oracle Java JDK/JRE must be the default Java.
    • If you are installing the JDK then Type/Copy/Paste: sudo update-alternatives --set java /usr/local/java/jdk1.7.0_45/jre/bin/java
    • Or if you are installing the JRE then Type/Copy/Paste: sudo update-alternatives --set java /usr/local/java/jre1.7.0_45/bin/java
      • this command will set the java runtime environment for the system
    • Only if you are installing the JDK then Type/Copy/Paste: sudo update-alternatives --set java /usr/local/java/jdk1.7.0_45/bin/java
      • this command will set the java compiler for the system
    • If you are installing the JDK then Type/Copy/Paste: sudo update-alternatives --set javaws /usr/local/java/jdk1.7.0_45/bin/javaws
    • Or if you are installing the JRE then Type/Copy/Paste: sudo update-alternatives --set javaws /usr/local/java/jre1.7.0_45/bin/javaws
      • this command will set Java Web start for the system
  12. Reload your system wide PATH /etc/profile by typing the following command:
    • Type/Copy/Paste: . /etc/profile
    • Note your system-wide PATH /etc/profile file will reload after reboot of your Ubuntu Linux system
  13. Test to see if Oracle Java was installed correctly on your system. Run the following commands and note the version of Java:
    A successful installation of 32-bit Oracle Java will display:
    • Type/Copy/Paste: java -version. This command displays the version of java running on your system. You should receive a message which displays: java version "1.7.0_45"
      Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    • Java HotSpot(TM) Server VM (build 24.45-b08, mixed mode)
    • Type/Copy/Paste: java -version. This command lets you know that you are now able to compile Java programs from the terminal. You should receive a message which displays: java 1.7.0_45. A successful installation of Oracle Java 64-bit will display:
    • Type/Copy/Paste: java -version. This command displays the version of java running on your system. You should receive a message which displays: java version "1.7.0_45"
      Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
    • Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
    • Type/Copy/Paste: java -version. This command lets you know that you are now able to compile Java programs from the terminal. You should receive a message which displays: java 1.7.0_45
  14. Congratulations, you just installed Oracle Java on your Linux system. Now reboot your Ubuntu Linux system. Afterwards, your system will be fully configured for running and developing Java programs. Later on you may want to try compiling and running your own Java programs by following this article How to Create your First Java Program on Ubuntu Linux

Optional: How to enable Oracle Java in your Web Browsers

  1. To enable your Java plug-in in your web browsers you must make a symbolic link from the web browsers plug-in directory to the location of the Java plug-in included in your distribution of Oracle Java.
    • Important Note: I would urge caution when enabling Oracle Java 7 in your web browsers, due to the fact there have been many numerous security flaws and exploits. Essentially, by enabling Oracle Java 7 in your web browsers if a security flaw or exploit is discovered this is how the bad guys break in and compromise your system. For more information on security flaws and exploits in Java see the following website: Java Tester

Google Chrome

32-bit Oracle Java instructions:

  1. Issue the following commands.
    • Type/Copy/Paste: sudo mkdir -p /opt/google/chrome/plugins
      • this will create a directory called /opt/google/chrome/plugins
    • Type/Paste/Copy: cd /opt/google/chrome/plugins
      • this will change you into the google chrome plugins directory,make sure you are in this directory before you make the symbolic link
    • Type/Paste/Copy: sudo ln -s /usr/local/java/jre1.7.0_45/lib/i386/libnpjp2.so
      • this will create a symbolic link from the Java JRE( Java Runtime Environment ) plugin libnpjp2.so to your Google Chrome web browser

64-bit Oracle Java instructions:

  1. Issue the following commands.
    • Type/Copy/Paste: sudo mkdir -p /opt/google/chrome/plugins
      • this will create a directory called /opt/google/chrome/plugins
    • Type/Paste/Copy: cd /opt/google/chrome/plugins
      • this will change you into the google chrome plugins directory,make sure you are in this directory before you make the symbolic link
    • Type/Paste/Copy: sudo ln -s /usr/local/java/jre1.7.0_45/lib/amd64/libnpjp2.so
      • this will create a symbolic link from the Java JRE( Java Runtime Environment ) plugin libnpjp2.so to your Google Chrome web browser

Reminders:

  1. Note: Sometimes when you issue the above command you may receive a message which states:
    • ln: creating symbolic link `./libnpjp2.so': File exists
    • To correct this issue simply remove the previous symbolic link using the following command:
    • Type/Copy/Paste: cd /opt/google/chrome/plugins
    • Type/Copy/Paste: sudo rm -rf libnpjp2.so
    • Make sure you are in the /opt/google/chrome/plugins directory before you issue the command
  2. Restart your web browser and go to Java Tester to test if Java is functioning in your web browser.

Mozilla Firefox

32-bit Oracle Java instructions:

  1. Issue the following commands.
    • Type/Paste/Copy: cd /usr/lib/mozilla/plugins
      • this will change you into the directory /usr/lib/mozilla/plugins, create this directory if you do not have it
    • Type/Paste/Copy: sudo mkdir -p /usr/lib/mozilla/plugins
      • this will create the directory /usr/lib/mozilla/plugins, make sure you are in this directory before you make the symbolic link
    • Type/Paste/Copy: sudo ln -s /usr/local/java/jre1.7.0_45/lib/i386/libnpjp2.so
      • this will create a symbolic link from the Java JRE( Java Runtime Environment ) plugin libnpjp2.so to your Mozilla Firefox web browser
  2. ====64-bit Oracle Java instructions:====
  3. Issue the following commands.
    • Type/Paste/Copy: cd /usr/lib/mozilla/plugins
      • this will change you into the directory /usr/lib/mozilla/plugins, create this directory if you do not have it
    • Type/Paste/Copy: sudo mkdir -p /usr/lib/mozilla/plugins
      • this will create the directory /usr/lib/mozilla/plugins, make sure you are in this directory before you make the symbolic link
    • Type/Paste/Copy: sudo ln -s /usr/local/java/jre1.7.0_45/lib/amd64/libnpjp2.so
      • this will create a symbolic link from the Java JRE( Java Runtime Environment ) plugin libnpjp2.so to your Mozilla Firefox web browser

Reminders:

  1. Note: Sometimes when you issue the above command you may receive a message which states:
    • ln: creating symbolic link `./libnpjp2.so': File exists
    • To correct this issue simply remove the previous symbolic link using the following command:
    • Type/Copy/Paste: cd /usr/lib/mozilla/plugins
    • Type/Copy/Paste: sudo rm -rf libnpjp2.so
    • Make sure you are in the /usr/lib/mozilla/plugins directory before you issue the command
  2. Restart your web browser and go to Java Tester to test if Java is functioning in your web browser.

Tips

  • With Ubuntu Linux, you have the choice of whether to use OpenJDK, which is a free and open-source implementation of the Java programming language, or to use Oracle Java JDK and JRE. Some prefer to use Oracle Java (as it is the most up-to-date version of Java and it comes directly from the maintainers of Java technology), but this varies.
  • Keep in mind that Oracle makes security upgrades and bug fixes and enhances performance issues for each new release of Oracle Java. When installing Oracle Java on your system, be aware of the version number changes. See How to Upgrade Oracle Java on Ubuntu Linux for more information.
  • Please note that this document is in continual revision because Oracle sometimes changes the installation method of their Java JDK/JRE binaries.

Related Articles