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

Pic*_*llo 7 apt java jdk oracle software-installation

我创建了一个新的 Ubuntu 16.04.3 VM 并尝试安装 JDK 9。不幸的是,最新版本的 JDKapt安装程序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
Run Code Online (Sandbox Code Playgroud)

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

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)
Run Code Online (Sandbox Code Playgroud)

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

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

kar*_*rel 8

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

sudo apt install default-jdk   
Run Code Online (Sandbox Code Playgroud)

如果您继续阅读本答案的其余部分,那么您认为您需要安装 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