如何在Ubuntu 17.04上使用SDK CLI指定安装Oracle JDK而不是OpenJDK?

21

在Ubuntu 17.04上使用sdkman时,我没有看到安装Oracle JDK的选项。如何使用sdkman在Ubuntu 17.04上指定安装Oracle JDK?

$sdk list java
 ===================================================================
 Available Java Version
 ===================================================================
 > * 8u131-zulu                                                                    
     7u141-zulu                                                                    
     6u93-zulu 


 ===================================================================
 + - local version
 * - installed
 > - currently in use
 ===================================================================
$  

Oracle JDK曾经存在过。我不确定为什么它不再受支持。OpenJDK对我们来说不是一个选择。 - GreenSaguaro
是的,它被移除了,因为Oracle 6和7需要Oracle支持账户登录才能下载。然而,Oracle Java 8不需要,希望他们会为最新版本恢复Oracle JDK选项。 - Rishikesh Darandale
这是与之相关的文章 - Rishikesh Darandale
请参考GitHub问题 - Rishikesh Darandale
它开始支持java 8,请检查sdk list java的输出。 - Rishikesh Darandale
@RishikeshDarandale sdk list javasdk ls java 是相同的命令,别名而已。 - Thufir
3个回答

16

您可以输入sdk ls java,查看可用版本。

目前我在列表中看到8u141-oracle。因此, 您可以通过sdk i java 8u141-oracle进行安装。


1
谢谢@Derp。我已经在评论中指定它开始支持Oracle Java。 - Rishikesh Darandale
如果提供的答案令人满意,请考虑将其标记为已接受。 - Gili

12

针对那些看到这篇答案的人:

你仍然可以下载 Oracle JDK 并将其手动提取到适当的文件夹中。然后,你可以像自动安装一样使用所有 sdkman 命令。

将 Oracle JDK 提取到 ~/.sdkman/candidates/java/8.0.241-oracle 并使用 sdk use java 8.0.241-oracle 激活。

2021 年编辑:

你不再需要在 .sdkman 文件夹中安装/提取手动下载的二进制文件。只需使用 local-path 并提供二进制文件所在的路径即可,例如: sdk install groovy 2.4.13-local /opt/groovy-2.4.13


1
你怎么在Mac上做这个?只有一个dmg包可用,没有zip,我应该使用哪一个?我尝试了一个Linux tar zip,但它不起作用(Eclipse无法识别它)。 - edbras
1
@edbras 我会使用dmg文件安装Oracle JDK,查找其安装位置并将其符号链接到适当的sdkman候选文件夹。我认为这是唯一的方法,因为我不知道如何告诉sdkman *安装在哪里。只有一个默认的安装位置。 - JSamir
2
这应该是最佳和被接受的答案...我真的很感激。现在我仍然可以使用SDKMAN提供的Oracle Java版本管理。太棒了 :) - robquinn
在Java 11中运行良好,这应该是被接受的答案 :) - Karim Sonbol
这个脚本帮了我第一部分的忙 https://gist.github.com/smola/b1332103514a7834cabca6af7bb09ceb - Foreever

11

由于一些法律问题,Oracle JDK最终已从SDKMAN中撤出。这些法律问题在此处有详细说明。

他们决定引入许多OpenJDK实现,例如Azul Zulu、Azul ZuluFX等,适用于需要JavaFX的用户。请通过sdk ls java检查目前支持哪些内容。


现在提供更相关的答案,请查看此处 - https://dev59.com/21cP5IYBdhLWcg3wf58G#60346121 - Joseph T F
嗯,目前在CLI中列出了Oracle。 - Nicholas Saunders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接