sdkman 缺少特定的 Java 版本

adr*_*rhc 5 java sdkman

我在 Ubuntu 18.10 上有 SDKMAN 5.7.3+337,它列出了这些可用的 Java 版本:

     13.ea.17-open   > * 10.0.2-open         1.0.0-rc-12-grl
     12.0.1-zulu       * 9.0.7-zulu          1.0.0-rc-11-grl
     12.0.1-librca       9.0.4-open          1.0.0-rc-10-grl
     12.0.1-sapmchn      8.0.212-zulu        1.0.0-rc-9-grl
     12.0.1-open         8.0.212-amzn        1.0.0-rc-8-grl
   + 12.0.0-open         8.0.212-librca
     11.0.3-sapmchn    + 8.0.202-zulu
     11.0.3-zulu         8.0.202.j9-adpt
     11.0.3-amzn         8.0.202.hs-adpt
     11.0.3-librca       8.0.202-zulufx
   + 11.0.2-open         7.0.222-zulu
     11.0.2.j9-adpt      6.0.119-zulu
     11.0.2.hs-adpt      1.0.0-rc-15-grl
     11.0.2-zulufx       1.0.0-rc-14-grl
     10.0.2-zulu         1.0.0-rc-13-grl
Run Code Online (Sandbox Code Playgroud)

而 Ubuntu 18.04.1 LTS(如 Windows 10 中的 WSL)上的相同 SDKMAN 版本显示:

13.ea.17-open     * 9.0.4-open          1.0.0-rc-11-grl
12.0.1-sapmchn      8.0.212-zulu        1.0.0-rc-10-grl
12.0.1-zulu         8.0.212-amzn        1.0.0-rc-9-grl 
12.0.1-open         8.0.212-librca      1.0.0-rc-8-grl 
12.0.1-librca     + 8.0.202-zulu 
11.0.3-sapmchn      8.0.202.j9-adpt
11.0.3-zulu         8.0.202.hs-adpt
11.0.3-amzn         8.0.202-zulufx
11.0.3-librca     + 8.0.191-oracle
11.0.2.j9-adpt      7.0.222-zulu
11.0.2.hs-adpt      6.0.119-zulu
11.0.2-zulufx       1.0.0-rc-15-grl
10.0.2-zulu         1.0.0-rc-14-grl
10.0.2-open         1.0.0-rc-13-grl
9.0.7-zulu          1.0.0-rc-12-grl
Run Code Online (Sandbox Code Playgroud)

哪里11.0.2-open不见了。为什么会发生这种情况,我应该如何解决这个问题?

PS:我已经运行sdk selfupdatesdk update

adr*_*rhc 22

看来下载缺少的版本:

wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
Run Code Online (Sandbox Code Playgroud)

然后解压到:

~/.sdkman/candidates/java/
Run Code Online (Sandbox Code Playgroud)

然后重命名提取的目录:

mv ~/.sdkman/candidates/java/jdk-11.0.2 ~/.sdkman/candidates/java/11.0.2-open
Run Code Online (Sandbox Code Playgroud)

解决了问题。

PS:当然,你必须更改~/.sdkman/candidates/java/以匹配你的SDKMAN安装路径(如果不是默认路径)


Eri*_*vic 7

安装eg 未列出的版本的最简单方法sdk list java是只写sdk install java 11然后按TAB键。这将启动自动完成功能,为您提供一个自动完成列表供您选择。

免责声明:这对我在 Macos 上运行 zsh 的终端有效。


jva*_*caq 6

即使未列出,您仍然可以安装所需的版本。至少,它对java 10.0.2-open我有用,就我而言,它没有出现。试一试并运行命令sdk install java 11.0.2-open

  • @sagarr我使用:sdk install java 14.0.2.hs-adpt (2认同)