Java 不仅仅是一种编程语言:它也是一个运行时环境。
用 Java 编写的应用程序被编译成 Java 字节码,然后由 Java 虚拟机 (JVM) 解释执行,这就是为什么你可以在一个平台上编写 Java,并在所有其他平台上运行它。
然而,当编程语言和应用程序以不同的速度发展时,可能会出现挑战。Java(语言)可能会增加其版本号,而你最喜欢的应用程序仍然继续使用旧版本,至少在一段时间内是这样。
如果你有两个必不可少的应用程序,每个应用程序使用不同版本的 Java,你可能需要在同一系统上安装旧版本和新版本的 Java。如果你是一名 Java 开发人员,这种情况尤其常见,因为你可能会为多个项目贡献代码,而每个项目都需要不同版本的 Java。
SDKMan 项目让管理不同版本的 Java 和相关语言变得容易,包括 Groovy、Scala、Kotlin 等。
SDKMan 就像一个专门用于 Java 版本的包管理器。
安装 SDKMan
SDKMan 需要你的系统上存在以下命令
- zip
- unzip
- curl
- sed
在 Linux 上,你可以使用你的包管理器安装这些。在 Fedora、CentOS Stream、Mageia 和类似的系统上
$ sudo dnf install zip unzip curl sed
在基于 Debian 的发行版上,使用 apt
代替 dnf
。在 macOS 上,使用 MacPorts 或 Homebrew。在 Windows 上,你可以通过 Cygwin 或 WSL 使用 SDKMan。
一旦你满足了这些要求,下载 SDKMan 安装脚本
$ curl "https://get.sdkman.io" --output sdkman.sh
查看脚本以了解它的作用,然后使其可执行并运行它
$ chmod +x sdkman.sh
$ ./sdkman.sh
配置
安装完成后,打开一个新的终端,或在现有的终端中运行以下命令
$ source ~/.sdkman/bin/sdkman-init.sh
确认它已安装
$ sdk version
使用 SDKMan 安装 Java
现在,当你想要安装 Java 版本时,你可以使用 SDKMan 来完成。
首先,列出可用的 Java 候选版本
$ sdk list java
=================================================
Available Java Versions for Linux 64bit
=================================================
Vendor | Version | Dist | Identifier
-------------------------------------------------
Gluon | 22.0.0.3.r17 | gln | 22.0.0.3.r17-gln
| 22.0.0.3.r11 | gln | 22.0.0.3.r11-gln
GraalVM | 22.0.0.2.r17 | grl | 22.0.0.2.r17-grl
| 21.3.1.r17 | grl | 21.3.1.r17-grl
| 20.3.5.r11 | grl | 20.3.5.r11-grl
| 19.3.6.r11 | grl | 19.3.6.r11-grl
Java.net | 19.ea.10 | open | 19.ea.10-open
| 18 | open | 18-open
| 17.0.2 | open | 17.0.2-open
| 11.0.12 | open | 11.0.12-open
| 8.0.302 | open | 8.0.302-open
[...]
这提供了跨多个流行供应商的不同 Java 发行版列表,包括 Gluon、GraalVM、来自 Java.net 的 OpenJDK 以及许多其他发行版。
你可以使用 Identifier
列中的值安装特定版本的 Java
$ sdk install java 11.0.12-open
sdk
命令使用 Tab 补全,因此你无需查看列表。相反,你可以输入 sdk install java 11
,然后按几次 Tab 键来获取选项。
或者,你可以只安装默认的最新版本
$ sdk install java
设置你当前的 Java 版本
使用 use
子命令为终端会话设置 Java 版本
$ sdk use java 17.0.2-open
要将版本设置为默认版本,请使用 default
子命令
$ sdk default java 17.0.2-open
使用 current
子命令获取当前生效的版本
$ sdk current java Using java version 17.0.2-open
使用 SDKMan 移除 Java
你可以使用 uninstall
子命令移除已安装的 Java 版本
$ sdk uninstall java 11.0.12-open
更多 SDKMan
你可以使用 SDKMan 进行更多自定义,包括更新和升级 Java 版本以及创建基于项目的环境。对于任何想要快速轻松地在 Java 版本之间切换的开发人员或用户来说,这是一个有用的命令。
如果你喜欢 Java,或者使用 Java,请尝试一下 SDKMan。它让 Java 比以往任何时候都更容易!
评论已关闭。