无法在Ubuntu 16.04中通过apt安装Oracle JDK

我创建了一个新的Ubuntu 16.04.3 VM并且我正在尝试安装JDK 9.不幸的是,最新版本的JDK apt安装程序9.0.1-1~webupd8~0无法下载二进制文件而我怀疑其原因是因为JDK 9.0.4今天发布了,而Oracle则移动了档案。

我执行了典型的安装步骤:

 add-apt-repository ppa:webupd8team/java apt-get update && apt-get install oracle-java9-installer 

然后提示我以下错误消息:

 Downloading Oracle Java 9... --2018-01-16 15:15:07-- http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz Resolving download.oracle.com (download.oracle.com)... 23.200.70.136 Connecting to download.oracle.com (download.oracle.com)|23.200.70.136|:80... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://edelivery.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz [following] --2018-01-16 15:15:11-- https://edelivery.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz Resolving edelivery.oracle.com (edelivery.oracle.com)... 23.35.226.115, 2600:1404:21:49d::2d3e, 2600:1404:21:493::2d3e Connecting to edelivery.oracle.com (edelivery.oracle.com)|23.35.226.115|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz?AuthParam=1516137431_0e89d10b30203a572ea858768475ef74 [following] --2018-01-16 15:15:11-- http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz?AuthParam=1516137431_0e89d10b30203a572ea858768475ef74 Connecting to download.oracle.com (download.oracle.com)|23.200.70.136|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2018-01-16 15:15:11 ERROR 404: Not Found. download failed Oracle JDK 9 is NOT installed. dpkg: error processing package oracle-java9-installer (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: oracle-java9-installer E: Sub-process /usr/bin/dpkg returned an error code (1) 

我发现这个线程为JDK 9 GA解决了它 ,但似乎最新的回复不适用于JDK 9.0.4 + 11。 我更新了SHA校验和( 在此页面上找到 ),将主要版本设置为9.0.4,并将次要版本设置为11,但我仍然没有成功。

在WebUpd8团队能够更新PPA之前,需要执行哪些步骤才能使JDK apt安装程序正常工作?

首先,如果您认为自己需要Oracle Java,因为您在互联网上找到了一些愚蠢的教程,那么在所有当前支持的Ubuntu版本中安装Java所需要做的就是运行以下命令:

 sudo apt install default-jdk 

如果您继续阅读本答案的其余部分,那么您认为需要安装Oracle Java而不是从默认的Ubuntu存储库安装Java包。


我尝试从官方Oracle网站手动下载Oracle Java 9: http : //www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html以及下载jdk-9.0.4_linux的链接-x64_bin.tar.gz正在运行。 如果下载链接因为已更新而无效,请访问官方Oracle网站并从那里下载Java。 另一种方法是从默认的Ubuntu 16.04存储库安装openjdk-9-jdk。

以手动方式安装Oracle Java JDK


Java 8也可以以相同的方式安装。 从官方Oracle网站手动下载Java 8的链接是: http : //www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

对于刚刚提出这个问题的人来说, Oracle Java 9,因为它不是LTS版本,现在已经过时了,无法下载。 遗憾的是, Java 10尚未通过Web Upd8 PPA提供 ,但他们的PPA页面为此推荐了另一个PPA 。

Oracle Java 8

Java 8是一个LTS版本,它将比Java 10持续更长时间,可以安装:

 sudo apt-add-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer 

Oracle Java 10

Java 10是一个非LTS版本,不会持续很长时间,可以安装:

 sudo apt-add-repository ppa:linuxuprising/java sudo apt-get update sudo apt-get install oracle-java10-installer