0

通过从http://jdk.java.net/loom/下载文件,解压缩它(我有一个名为 的目录jdk-18),将JAVA_HOMEenv var 设置为jdk-18目录,并将bin构建的子目录添加到我的PATHenv var 的开头。我能够使用构建来编译和运行使用虚拟线程预览功能的 Java 程序。

但这感觉像是一个非常手动的过程。我喜欢 SDKMAN 如何在我的系统上管理 JDK。如何将此早期访问版本(或任何其他 JDK 版本)设置为 SDKMAN 管理的 JDK 列表中的条目,以便我可以更改它,例如,通过键入sdk default java <my-jdk-18-name>

4

2 回答 2

0

多年来,用于管理多个 JDK 的 Joggling PATH 变量是唯一直接的做事方式,但是该过程的一般自动化程度正在缓慢提高。

目前我使用jenv,通常应该支持任何 POSIX 操作系统,我在 Mac ( brew install jenv) 上使用它。

对我来说,它的主要缺点——如果你$(jenv init -)在终端 RC 脚本中包含它的 init,它会延迟终端启动几秒钟。

特定文件夹的切换如下所示: jenv local <my-custom-jdk-name>

于 2021-12-20T01:02:10.023 回答
0

SDKMAN 有一个名为“安装本地版本”(https://sdkman.io/usage#localversion)的功能。

因此,要使用 SDKMAN 设置 JDK 的自定义构建,我可以下载并安装 JDK,然后将其链接到 SDKMAN,这样它就可以像 SDKMAN 管理的任何其他 JDK 一样使用:

wget https://download.java.net/java/early_access/loom/7/openjdk-18-loom+7-288_linux-x64_bin.tar.gz
tar -xf openjdk-18-loom+7-288_linux-x64_bin.tar.gz
mv jdk-18/ 18-loom
sdk install java 18-loom $(realpath 18-loom/)

安装和链接后:

~/javas > sdk default java 18-loom

Default java version set to 18-loom
~/javas > which java
/home/matt/.sdkman/candidates/java/current/bin/java
~/javas > java --version
openjdk 18-loom 2022-03-15
OpenJDK Runtime Environment (build 18-loom+7-288)
OpenJDK 64-Bit Server VM (build 18-loom+7-288, mixed mode, sharing)
于 2021-12-20T01:54:26.473 回答