使用以前的 JDK 版本,该版本无法通过 SDKMAN 获得,但可以从 suggestopenjdk 获得

khm*_*ise 5 java sdkman

我有以下情况:

$ sdk java list
 AdoptOpenJDK  |     | 15.0.1.j9    | adpt    |            | 15.0.1.j9-adpt      
               |     | 15.0.1.hs    | adpt    | installed  | 15.0.1.hs-adpt      
               |     | 14.0.2.j9    | adpt    |            | 14.0.2.j9-adpt      
               |     | 14.0.2.hs    | adpt    |            | 14.0.2.hs-adpt      
               |     | 13.0.2.j9    | adpt    |            | 13.0.2.j9-adpt      
               |     | 13.0.2.hs    | adpt    |            | 13.0.2.hs-adpt      
               |     | 12.0.2.j9    | adpt    |            | 12.0.2.j9-adpt      
               |     | 12.0.2.hs    | adpt    |            | 12.0.2.hs-adpt      
               |     | 11.0.9.j9    | adpt    |            | 11.0.9.j9-adpt      
               | >>> | 11.0.9.hs    | adpt    | installed  | 11.0.9.hs-adpt    
...
Run Code Online (Sandbox Code Playgroud)

但是在adoptopenjdk上,以下版本https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/tag/jdk-11.0.8%2B10可用并且可以下载。

但是当我尝试通过 sdkman 安装它时:

$ sdk java install 
tools$ sdk install java 11.0.8.hs-adpt

Stop! java 11.0.8.hs-adpt is not available. Possible causes:
 * 11.0.8.hs-adpt is an invalid version
 * java binaries are incompatible with Darwin
 * java has not been released yet
Run Code Online (Sandbox Code Playgroud)

有没有办法通过 sdkman 来处理这个问题?

小智 2

sdkman 不会将每个现有版本的 jdk 识别为候选版本。但是它允许添加本地版本作为补偿。

因此,您只需下载所需的特定版本,将其存储在您想要的任何路径中,然后使用命令将本地版本注册为安装在 sdkman 中:

https://sdkman.io/usage#localversion