As of November 2020
you can achieve this in 2 steps:
Install Java 11 using
yum:yum install java-11-openjdk-develGet all the Java configurations available in your machine:
alternatives --config javaRun the above command, select the version you want to set, I've set
1here:There are 2 programs which provide 'java'. Selection Command ----------------------------------------------- 1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el7_8.x86_64/bin/java) *+ 2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/jre/bin/java) Enter to keep the current selection[+], or type selection number: 1Check
java -version:openjdk version "11.0.8" 2020-07-14 LTS OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode, sharing)
Java 11 is now set to be used globally.
The reason, in short, is because someone has to maintain the packages and put these into the repositories your system is using and verify, that they run stable. For example, the OpenJDK 11 on Debian is still in buster (testing) and sid (unstable) and therefore not available in any stable branch. I guess in CentOS (I am not that familiar with it tbh.) it's the same situation.
Sooner or later you'll have to install software without a manager in any OS, so even if you're saying you're a noob, you'll have to learn that sooner or later. And if you want to use openjdk11 now, you'll have to use either an unofficial repository or install the software by hand, what I'd recommend.
However, here is a guide which is the second hit on Google for openjdk11 centos:
curl -O https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
tar zxvf openjdk-11.0.1_linux-x64_bin.tar.gz
mv jdk-11.0.1 /usr/local/
vi /etc/profile.d/jdk11.sh
# create new
export JAVA_HOME=/usr/local/jdk-11.0.1
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile.d/jdk11.sh
java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
Source: https://www.server-world.info/en/note?os=CentOS_7&p=jdk11&f=2
You might simply build this yourself. If it worked before, chances are the build for Fedora works. You will need a Fedora 34+ host to cross-build this.
# Don't build as root. Only need root privileges to install `fedpkg`,
sudo dnf install -y fedpkg
# Now get the package description
git clone https://src.fedoraproject.org/rpms/java-17-openjdk
# Use fedpkg to kick off a mock build
cd java-17-openjdk
fedpkg mockbuild --root centos-7-x86_64
This will take a while¹; and in the end, you should be getting a line that tells you where the RPMs you've just built were put.
¹ mock sets up a chroot, in which it installs a CentOS 7 base system, then EPEL, which you'll almost certainly will need, I think, then the tools necessary to build any RPM, then the build-time dependencies of the java-17-openjdk package. Then it will download all the necessary source code, hand off to rpm-build to do the build, which includes applying all patches, then compiling OpenJDK, then, running the OpenJDK installation, collecting the installed files, compressing them into valid RPMs.
Use Temurin. You'll need the Adoptium yum repo configuration from https://adoptium.net/installation/linux/