本文使用的Linux发行版为Rocky Linux 9.2,可以当做CentOS的平替产品。
SDKMAN是一个sdk包管理工具,通过自带的命令可以快速切换软件环境, 官网地址:https://sdkman.io/。
1、安装sdkman:
#
curl -s "https://get.sdkman.io" | bash
#
export SDKMAN_DIR="/usr/local/sdkman"
source "$HOME/.sdkman/bin/sdkman-init.sh"
验证是否安装成功:sdk version
sdkman常用命令:
# 帮助手册
sdk help
# 列出可用的sdk版本,示例 查看jdk的版本:sdk list java
sdk list xxx
# 安装指定sdk, 示例 安装openjdk:sdk install java 21-open
sdk install xxx
# 查看指定sdk的安装路径,示例 查看openjdk21的安装位置:sdk home java 21-open
sdk home xxx # 默认安装位置:/root/.sdkman/candidates/xxx
# 查看正在使用的sdk版本
sdk current
# 查看正在使用指定的sdk版本
sdk current xxx
# 切换指定版本sdk(临时使用,当前shell有效)
sdk use xxx
# 切换指定版本sdk(全局有效)
sdk default xxx
# 卸载指定sdk
sdk uninstall xxx
2、卸载系统自带的jdk:
# 查看rpm包安装的jdk
rpm -qa | grep java
# 卸载系统自带的jdk: rpm -e --nodeps java-1.8.0-openjdk-xxx
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.372.b07-2.el9.x86_64
3、使用sdkman安装openjdk21:https://sdkman.io/jdks
# sdk install java 版本号-发行版 (安装路径可以自定义,默认会安装到sdkman的目录下)
# sdk install java 21-open /
sdk install java 21-open
# 查看jdk的安装安装位置
sdk home java 21-open # 安装位置:/root/.sdkman/candidates/java/21-open
通过命令java -version
,验证jdk是否安装成功:
4、切换到jdk8
# 安装jdk8
sdk install java 8.0.362-zulu
# 切换jdk8
sdk default java 8.0.362-zulu