How To Install Java on CentOS and Fedora
Introduction
This tutorial will show you how to install Java on CentOS 7 (also 5, 6, 6.5), Fedora 20, and RHEL. Java is a popular software platform that allows you to run Java applications and applets.
The installation of the following versions of Java are covered:
- OpenJDK 7
- OpenJDK 6
- Oracle Java 8
- Oracle Java 7
Feel free to skip to your desired section using the Contents button on the sidebar!
Variations of Java
There are three different editions of the Java Platform: Standard Edition (SE), Enterprise Edition (EE), and Micro Edition (ME). This tutorial is focused on Java SE (Java Platform, Standard Edition).
There are two different Java SE packages that can be installed: the Java Runtime Environment (JRE) and the Java Development Kit (JDK). JRE is an implementation of the Java Virtual Machine (JVM), which allows you to run compiled Java applications and applets. JDK includes JRE and other software that is required for writing, developing, and compiling Java applications and applets.
There are also two different implementations of Java: OpenJDK and Oracle Java. Both implementations are based largely on the same code but OpenJDK, the reference implementation of Java, is fully open source while Oracle Java contains some proprietary code. Most Java applications will work fine with either but you should use whichever implementation your software calls for.
You may install various versions and releases of Java on a single system, but most people only need one installation. With that in mind, try to only install the version of Java that you need to run or develop your application(s).
Install OpenJDK 7
This section will show you how to install the prebuilt OpenJDK 7 JRE and JDK packages using the yum package manager, which is similar to apt-get for Ubuntu/Debian. OpenJDK 7 is the latest version of OpenJDK.
Install OpenJDK 7 JRE
To install OpenJDK 7 JRE using yum, run this command:
sudo yum install java-1.7.0-openjdk
At the confirmation prompt, enter y
then RETURN
to continue with the installation.
Congratulations! You have installed OpenJDK 7 JRE.
Install OpenJDK 7 JDK
To install OpenJDK 7 JDK using yum, run this command:
sudo yum install java-1.7.0-openjdk-devel
At the confirmation prompt, enter y
then RETURN
to continue with the installation.
Congratulations! You have installed OpenJDK 7 JDK.
Install OpenJDK 6
This section will show you how to install the prebuilt OpenJDK 6 JRE and JDK packages using the yum package manager.
Install OpenJDK 6
To install OpenJDK 6 JRE using yum, run this command:
sudo yum install java-1.6.0-openjdk
At the confirmation prompt, enter y
then RETURN
to continue with the installation.
Congratulations! You have installed OpenJDK 6 JRE.
Install OpenJDK 6 JDK
To install OpenJDK 6 JDK using yum, run this command:
sudo yum install java-1.6.0-openjdk-devel
At the confirmation prompt, enter y
then RETURN
to continue with the installation.
Congratulations! You have installed OpenJDK 6 JDK.
Install Oracle Java 8
This section of the guide will show you how to install Oracle Java 8 update 25 JRE and JDK (64-bit), the latest release of these packages at the time of this writing.
Note: You must accept the Oracle Binary Code License Agreement for Java SE, which is one of the included steps, before installing Oracle Java.
Install Oracle Java 8 JRE
Note: If you would like to install a different release of Oracle Java 8 JRE, go to the Oracle Java 8 JRE Downloads Page, accept the license agreement, and copy the download link of the appropriate Linux.tar.gz
package. Substitute the copied download link in place of the highlighted part of the wget
command.
Change to the /opt
directory and download the Oracle Java 8 JRE .tar.gz
archive with these command:
cd /opt
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jre-8u25-linux-x64.tar.gz"
Extract the archive that you just downloaded with this command (if you downloaded a different release, substitute the filename here):
sudo tar xvf jre-8u25-linux-x64.tar.gz
This will produce a directory based on the release that you downloaded, e.g. jre1.8.0_25
. Change the ownership of the extracted files to root
:
sudo chown -R root: jre1.8.0_25
The JRE executable files, e.g. java
among others, are now installed at /opt/jre1.8.0_25/bin
which is not in your PATH
variable, so the commands can only be used if you reference their locations. To remedy this, you can either add this directory to your PATH
variable or use the alternatives
command to add symbolic links to individual executable files to the /usr/bin
directory. We will show you how to use thealternatives
command to manage your Java executables.
Use this alternatives
command to add a symbolic link, in the /usr/bin
directory, to the java
command:
sudo alternatives --install /usr/bin/java java /opt/jre1.8.0_25/bin/java 1
Feel free to use the alternatives
command in a similar fashion to manage any of the other Java executable files.
You may delete the archive file that you downloaded earlier:
sudo rm /opt/jre-8u25-linux-x64.tar.gz
Congratulations! You have installed Oracle Java 8 JRE.
Install Oracle Java 8 JDK
Note: If you would like to install a different release of Oracle Java 8 JDK, go to the Oracle Java 8 JDK Downloads Page, accept the license agreement, and copy the download link of the appropriate Linux.tar.gz
package. Substitute the copied download link in place of the highlighted part of the wget
command.
Change to the /opt
directory and download the Oracle Java 8 JDK .tar.gz
archive with these command:
cd /opt
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz"
Extract the archive that you just downloaded with this command (if you downloaded a different release, substitute the filename here):
sudo tar xvf jdk-8u25-linux-x64.tar.gz
This will produce a directory based on the release that you downloaded, e.g. jdk1.8.0_25
. Change the ownership of the extracted files to root
:
sudo chown -R root: jdk1.8.0_25
The JDK executable files, e.g. java
, javac
, and jar
, are now installed at /opt/jdk1.8.0_25/bin
which is not in your PATH
variable, so the commands can only be used if you reference their locations. To remedy this, you can either add this directory to your PATH
variable or use the alternatives
command to add symbolic links to individual executable files to the /usr/bin
directory. We will show you how to use the alternatives
command to manage your Java executables.
Use these alternatives
commands to add symbolic links, in the /usr/bin
directory, to the java
,javac
, and jar
commands:
sudo alternatives --install /usr/bin/java java /opt/jdk1.8.0_25/bin/java 1
sudo alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_25/bin/javac 1
sudo alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_25/bin/jar 1
Feel free to use the alternatives
command in a similar fashion to manage any of the other Java executable files.
You may delete the archive file that you downloaded earlier:
sudo rm /opt/jdk-8u25-linux-x64.tar.gz
Congratulations! You have installed Oracle Java 8 JDK.
Install Oracle Java 7
This section of the guide will show you how to install Oracle Java 7 update 71 JRE and JDK (64-bit).
Note: You must accept the Oracle Binary Code License Agreement for Java SE, which is one of the included steps, before installing Oracle Java.
Install Oracle Java 7 JRE
Note: If you would like to install a different release of Oracle Java 7 JRE, go to the Oracle Java 7 JRE Downloads Page, accept the license agreement, and copy the download link of the appropriate Linux.tar.gz
package. Substitute the copied download link in place of the highlighted part of the wget
command.
Change to the /opt
directory and download the Oracle Java 7 JRE .tar.gz
archive with these command:
cd /opt
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jre-7u71-linux-x64.tar.gz"
Extract the archive that you just downloaded with this command (if you downloaded a different release, substitute the filename here):
sudo tar xvf jre-7u71-linux-x64.tar.gz
This will produce a directory based on the release that you downloaded, e.g. jre1.7.0_71
. Change the ownership of the extracted files to root
:
sudo chown -R root: jre1.7.0_71
The JDK executable files, e.g. java
, javac
, and jar
, are now installed at /opt/jre1.7.0_71/bin
which is not in your PATH
variable, so the commands can only be used if you reference their locations. To remedy this, you can either add this directory to your PATH
variable or use the alternatives
command to add symbolic links to individual executable files to the /usr/bin
directory. We will show you how to use the alternatives
command to manage your Java executables.
Use this alternatives
command to add a symbolic link, in the /usr/bin
directory, to the java
command:
sudo alternatives --install /usr/bin/java java /opt/jre1.7.0_71/bin/java 1
Feel free to use the alternatives
command in a similar fashion to manage any of the other Java executable files.
You may delete the archive file that you downloaded earlier:
sudo rm /opt/jre-7u71-linux-x64.tar.gz
Congratulations! You have installed Oracle Java 7 JRE.
Install Oracle Java 7 JDK
Note: If you would like to install a different release of Oracle Java 7 JDK, go to the Oracle Java 7 JDK Downloads Page, accept the license agreement, and copy the download link of the appropriate Linux.tar.gz
package. Substitute the copied download link in place of the highlighted part of the wget
command.
Change to the /opt
directory and download the Oracle Java 7 JDK .tar.gz
archive with these command:
cd /opt
sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz"
Extract the archive that you just downloaded with this command (if you downloaded a different release, substitute the filename here):
sudo tar xvf jdk-7u71-linux-x64.tar.gz
This will produce a directory based on the release that you downloaded, e.g. jdk1.7.0_71
. Change the ownership of the extracted files to root
:
sudo chown -R root: jdk1.7.0_71
The JDK executable files, e.g. java
, javac
, and jar
, are now installed at /opt/jdk1.7.0_71/bin
which is not in your PATH
variable, so the commands can only be used if you reference their locations. To remedy this, you can either add this directory to your PATH
variable or use the alternatives
command to add symbolic links to individual executable files to the /usr/bin
directory. We will show you how to use the alternatives
command to manage your Java executables.
Use these alternatives
commands to add symbolic links, in the /usr/bin
directory, to the java
,javac
, and jar
commands:
sudo alternatives --install /usr/bin/java java /opt/jdk1.7.0_71/bin/java 1
sudo alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_71/bin/javac 1
sudo alternatives --install /usr/bin/jar jar /opt/jdk1.7.0_71/bin/jar 1
Feel free to use the alternatives
command in a similar fashion to manage any of the other Java executable files.
You may delete the archive file that you downloaded earlier:
sudo rm /opt/jdk-7u71-linux-x64.tar.gz
Congratulations! You have installed Oracle Java 7 JDK.
Set Default Java
If you installed multiple versions of Java, you may want to set one as your default (i.e. the one that will run when a user runs the java
command). Additionally, some applications require certain environment variables to be set to locate which installation of Java to use. This section will show you how to do this.
By the way, to check the version of your default Java, run this command:
java -version
Using Alternatives
The alternatives
command, which manages default commands through symbolic links, can be used to select the default Java command.
To print the programs that provide the java
command that are managed by alternatives
, use this command:
sudo alternatives --config java
Here is an example of the output:
There are 5 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64/jre/bin/java
2 /opt/jdk1.8.0_25/bin/java
3 /opt/jre1.8.0_25/bin/java
+ 4 /opt/jre1.7.0_71/bin/java
5 /opt/jdk1.7.0_71/bin/java
Enter to keep the current selection[+], or type selection number:
Simply enter the a selection number to choose which java
executable should be used by default.
Using Environment Variables
Many Java applications use the JAVA_HOME
or JRE_HOME
environment variables to determine whichjava
executable to use.
For example, if you installed Java to /opt/jdk1.8.0_25
(i.e. java
executable is located at/opt/jdk1.8.0_25/bin/java
), you could set your JAVA_HOME
environment variable in a bash shell or script like so:
export JAVA_HOME=/opt/jdk1.8.0_25
If you want JAVA_HOME
to be set for every user on the system by default, add the previous line to the/etc/environment
file. An easy way to append it to the file is to run this command:
sudo sh -c "echo export JAVA_HOME=/opt/jdk1.8.0_25 >> /etc/environment"
Conclusion
Congratulations, you are now set to run and/or develop your Java applications!
Views: 103