CentOS Stream 9
Sponsored Link

OpenJDK 21 : Install2024/12/05

 

Install OpenJDK 21.

[1] If you need only JRE, Install only [java-21-openjdk] package,
but if you need compiler, Install [java-21-openjdk-devel] package, too.
[root@dlp ~]#
dnf -y install java-21-openjdk java-21-openjdk-devel
[root@dlp ~]#
cat > /etc/profile.d/java.sh <<'EOF'
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java)))))
export PATH=$PATH:$JAVA_HOME/bin
EOF
[root@dlp ~]#
source /etc/profile.d/java.sh
[root@dlp ~]#
java --version

openjdk 17.0.3 2022-04-19 LTS
OpenJDK Runtime Environment 21.9 (build 17.0.3+7-LTS)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.3+7-LTS, mixed mode, sharing)

# verify to create test program

[root@dlp ~]# cat > java_test.java <<'EOF'
class java_test {
    public static void main(String[] args) {
        System.out.println("Hello Java World !");
    }
}
EOF 

[root@dlp ~]#
javac java_test.java

[root@dlp ~]#
java java_test

Hello Java World !
[2] If you installed multiple version of Java from CentOS official repository, it's possible to switch them with [alternatives].
[root@dlp ~]#
alternatives --config java


There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.13.0.11-4.el9.x86_64/bin/java)
   2           java-21-openjdk.x86_64 (/usr/lib/jvm/java-21-openjdk-21.0.5.0.11-2.el9.x86_64/bin/java)

Enter to keep the current selection[+], or type selection number: 2

[root@dlp ~]#
alternatives --config javac


There are 2 programs which provide 'javac'.

  Selection    Command
-----------------------------------------------
*+ 1           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.13.0.11-4.el9.x86_64/bin/javac)
   2           java-21-openjdk.x86_64 (/usr/lib/jvm/java-21-openjdk-21.0.5.0.11-2.el9.x86_64/bin/javac)

Enter to keep the current selection[+], or type selection number: 2

[root@dlp ~]#
java --version

openjdk 21.0.5 2024-10-15 LTS
OpenJDK Runtime Environment (Red_Hat-21.0.5.0.11-1) (build 21.0.5+11-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-21.0.5.0.11-1) (build 21.0.5+11-LTS, mixed mode, sharing)

[root@dlp ~]#
javac --version

javac 21.0.5
Matched Content