This tutorial helps you to install Java 8 or update Java on your system. Read the instruction carefully before downloading Java from the Linux command line.
The Oracle Java 11 is the latest LTS version available to download and install. To install Oracle Java 11 on CentOS and Fedora system follow below tutorial.
Step 1 – Download Latest Java Archive
The Oracle team provides Java RPM packages as well as compiled source code. Many times I have tried Java installation using rpm packages but I faced some issues. So I decided to install Java using the compiled source code. Since then I have installed a large number of times Java on CentOS, Redhat based systems without any issues. To download the latest Java SE Development Kit 8 release from its official download page or use following commands to download from the shell.
cd /opt/ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz" tar xzf jdk-8u201-linux-x64.tar.gz
Step 2 – Install Java 8 with Alternatives
The alternatives command is used for maintained symbolic links. This command used to creates, removes, maintains and displays information about the symbolic links comprising the alternatives system. Let’s use the alternatives command to configure Java on your system. The alternatives command is available in chkconfig package.
cd jdk1.8.0_201/ alternatives --install /usr/bin/java java /opt/jdk1.8.0_201/bin/java 2 alternatives --config java
The newly installed Java version listed at number 4, So input 4 and press enter.
There are 3 programs which provide 'java'. Selection Command ----------------------------------------------- 1 /opt/jdk1.8.0_45/bin/java * 2 /opt/jdk1.8.0_144/bin/java + 3 /opt/jdk-11/bin/java 4 /opt/jdk1.8.0_201/bin/java Enter to keep the current selection[+], or type selection number: 4
At this point, JAVA 8 has been successfully installed on your system. We also recommend to setup javac and jar commands path using alternatives
alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_201/bin/jar 2alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_201/bin/javac 2alternatives --set jar /opt/jdk1.8.0_201/bin/jaralternatives --set javac /opt/jdk1.8.0_201/bin/javac
Step 3 – Check Installed Java Version
Java and javac binaries are available under PATH environment variable. You can use them from anywhere in your system. Let’s check the installed version of Java runtime environment (JRE) on your system by executing the following command.
java -version java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
Step 4 – Setup Java Environment Variables
Most of Java based application’s uses environment variables to work. Set the Java environment variables using following commands
Set the JAVA_HOME, JRE_HOME and PATH environment variables.
export JAVA_HOME=/opt/jdk1.8.0_201 export JRE_HOME=/opt/jdk1.8.0_201/jre export PATH=$PATH:/opt/jdk1.8.0_201/bin:/opt/jdk1.8.0_201/jre/bin
Also add the above commands to /etc/bashrc or /etc/environment file to auto set environment variables during the system reboot.
$ wget ‘https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.rpm?AuthParam=1561543343_db87fc4729c3230513c85594dd6ffddd’
$ mv jdk-8u211-linux-x64.rpm\?AuthParam\=1561543343_db87fc4729c3230513c85594dd6ffddd jdk-8u211-linux-x64.rpm
$ sudo rpm -i jdk-8u211-linux-x64.rpm
warning: jdk-8u211-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Unpacking JAR files…
tools.jar…
plugin.jar…
javaws.jar…
deploy.jar…
rt.jar…
jsse.jar…
charsets.jar…
localedata.jar…
$ java -version
java version “1.8.0_211”
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
$
URL is throwing Error 403:
wget –no-cookies –no-check-certificate –header “Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie” “https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz”
–2019-05-23 23:40:44– https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz
Resolving download.oracle.com… 23.35.182.109
Connecting to download.oracle.com|23.35.182.109|:443… connected.
HTTP request sent, awaiting response… 302 Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz [following]
–2019-05-23 23:40:45– https://edelivery.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz
Resolving edelivery.oracle.com… 23.79.166.37, 2600:1406:1400:69d::366, 2600:1406:1400:690::366
Connecting to edelivery.oracle.com|23.79.166.37|:443… connected.
HTTP request sent, awaiting response… 403 Forbidden
2019-05-23 23:40:45 ERROR 403: Forbidden.
Hi,
Thank you for the detailed instructions. It’s straight forward to perform the manual steps to set a specific java version. I’m trying to perform the same steps in a shell script on CentOS 7. I’. using “expect” to set the specific Java version but no luck. Have you been successful in setting the Java version with “expect” to set the value when executing:
alternatives –config java
This command opens an interactive subshell that requires the user to select a numerical value for the Java version.
function configure_java() {
yum -y install expect
EXPECT=$(which expect)
JAVA_HOME=”
update-alternatives –install /usr/bin/java java ${JAVA_HOME%*/}/bin/java 2000
${EXPECT} <<EOD
spawn update-alternatives –config java
expect "Enter to keep the current selection[\+], or type selection number:"
send 2
EOD
}
However, when listing the JAVA_HOME version it has not been set. When I do it manually JAVA_HOME has the correct java version listed
echo $JAVA_HOME
Any thoughts?
Cheers,
Roland
Since 8u211/212 you need to login to your Oracle account to download JDK, so this method isn’t working anymore.
A new cookie called “OAMAuthnCookie_edelivery.oracle.com:443” is needed for downloading JDK, but the value of this cookie is generated by Oracle when you login.
Yes confirmed, this does not work any longer. Can we update this guide please? Thanks in advance Rahul!
Thanks too much.
Thanks buddy.
Helped alot.
Thank you so much. This is a link that I was recommended. Very kind of you to save us trouble, all those you faced. May all your experience bring you a good fortune.
Thank you once again.
Big thanks
Hello. Does anyone known where is hash in download link comes from?
For example 750e1c8617c5452694857ad95c3ee230
in https://download.oracle.com/otn-pub/java/jdk/8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.tar.gz