使用SDKMAN安装和管理多个版本的jdk
SDKMAN!(Software Development Kit Manager)是一个用于管理开发工具套件(SDK)的开源工具。它允许开发人员在 Unix 系统(如 macOS 和 Linux)上方便地安装、管理和切换多个 SDK 版本。
注:Windows 系统需要借助 WSL 或 Git Bash ,详见:https://sdkman.io/install#windows-installation
同时 SDKMAN 也可以管理其它开发工具如 Maven、Gradle 和 Scala等,以及在多个版本之间轻松切换。
本文主要以管理 jdk 为例进行说明。
安装
1 | # 默认安装 ~/.sdkman |
查看本机当前可用的版本
执行命令 sdk list java
可以查询适用于当前系统的发行版,以及已安装和当前在用的版本。
各发行版举例说明:
提供商标识 | 版本后缀 | 完整版本标识 | 提供商说明 |
---|---|---|---|
Corretto | amzn | 17.0.15-amzn | 亚马逊发布的 Corretto OpenJDK 构建版本 |
GraalVM CE | graalce | 17.0.9-graalce | 社区版 GraalVM,支持 AOT 编译和运行时优化 |
GraalVM Oracle | graal | 17.0.12-graal | Oracle 提供的 GraalVM 版本 |
JetBrains | jbr | 17.0.14-jbr | JetBrains 提供的定制 JDK,适配 IntelliJ 平台 |
Liberica | librca | 17.0.15-librca | BellSoft 提供的全平台 JDK 构建 |
Microsoft | ms | 17.0.15-ms | 微软发布的 OpenJDK,兼容 Azure 环境 |
Oracle | oracle | 17.0.12-oracle | Oracle 官方 LTS 支持的 JDK 版本 |
SapMachine | sapmchn | 17.0.15-sapmchn | SAP 发布的 OpenJDK 构建版本 |
Semeru | sem | 17.0.15-sem | IBM 提供的基于 OpenJ9 的 JDK 构建 |
Temurin | tem | 17.0.15-tem | Eclipse Adoptium 项目的主力发行版 |
Tencent | kona | 17.0.15-kona | 腾讯维护的 KonaJDK,优化云和大数据场景 |
Zulu | zulu | 17.0.15-zulu | Azul Systems 提供的 OpenJDK 构建 |
如果执行命令时出现下面的错误:
1 | ==== INTERNET NOT REACHABLE! =================================================== |
可以尝试按照下面的步骤解决
1 | # 1. 清除缓存 |
管理 SDK
1 | # 在上一步,确定需要安装的 SDK 版本 tag 标识,比如安装 17.0.15-zulu |
设置代理
编辑 ~/.sdkman/etc/config
文件加入以下内容后,执行 source "$HOME/.sdkman/bin/sdkman-init.sh"
使其生效。
1 | # Proxy configuration |
更新
1 | # 升级 SDKMAN |
卸载
1 | # 1. 删除 SDKMAN 安装目录(如果需要,最好先备份一下这个目录再删除) |