使用 SDKMan 管理 Java 版本

SDKMan 项目让管理不同版本的 Java 和相关语言(包括 Groovy、Scala、Kotlin 等)变得容易。
目前还没有读者喜欢这篇文章。

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 上,使用 MacPortsHomebrew。在 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 比以往任何时候都更容易!

标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,而且经常同时从事这两个行业。

贡献者

评论已关闭。

© . All rights reserved.