webupd8 oracle-java-7-installer 失败,出现 404

webupd8 oracle-java-7-installer 失败,出现 404

我正在尝试在 docker 镜像中安装 java7。几天前,这个功能一直有效。命令如下:

    apt-get --fix-missing update
    apt-get -y upgrade

    apt-get -y install software-properties-common
    add-apt-repository ppa:webupd8team/java
    apt-get -y upgrade
    apt-get -y update

    echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
    apt-get install -y oracle-java7-installer

输出为:

       Setting up oracle-java7-installer (7u80+7u60arm-0~webupd8~1) ...
       debconf: unable to initialize frontend: Dialog
       debconf: (TERM is not set, so the dialog frontend is not usable.)
       debconf: falling back to frontend: Readline
       debconf: unable to initialize frontend: Readline
       debconf: (This frontend requires a controlling tty.)
       debconf: falling back to frontend: Teletype
       Downloading Oracle Java 7...
       --2017-05-29 16:54:29--  http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
       Resolving download.oracle.com (download.oracle.com)... 104.96.220.162, 104.96.220.106
       Connecting to download.oracle.com (download.oracle.com)|104.96.220.162|:80... connected.
       HTTP request sent, awaiting response... 302 Moved Temporarily
       Location: (REMOVING H-T-T-P-S BECAUSE I DON'T HAVE ENOUGH REP POINTS)://edelivery.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz [following]
       --2017-05-29 16:54:29--  (REMOVING H-T-T-P-S BECAUSE I DON'T HAVE ENOUGH REP POINTS)://edelivery.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
       Resolving edelivery.oracle.com (edelivery.oracle.com)... 23.196.115.62, 2600:1408:10:184::2d3e, 2600:1408:10:185::2d3e
       Connecting to edelivery.oracle.com (edelivery.oracle.com)|23.196.115.62|:443... connected.
       HTTP request sent, awaiting response... 302 Moved Temporarily
       Location: (REMOVING H-T-T-P BECAUSE I DON'T HAVE ENOUGH REP POINTS)//download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?AuthParam=1496076904_47c6805122b1f8131f00e210452116ca [following]
       --2017-05-29 16:54:29--  http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?AuthParam=1496076904_47c6805122b1f8131f00e21                                                0452116ca
       Connecting to download.oracle.com (download.oracle.com)|104.96.220.162|:80... connected.
       HTTP request sent, awaiting response... 404 Not Found
       2017-05-29 16:54:31 ERROR 404: Not Found.

       download failed
       Oracle JDK 7 is NOT installed.
       dpkg: error processing package oracle-java7-installer (--configure):
       subprocess installed post-installation script returned error exit status 1
       Setting up gsfonts (1:8.11+urwcyr1.0.7~pre44-4.2ubuntu1) ...
       Setting up x11-common (1:7.7+1ubuntu8.1) ...
       debconf: unable to initialize frontend: Dialog
       debconf: (TERM is not set, so the dialog frontend is not usable.)
       debconf: falling back to frontend: Readline
       debconf: unable to initialize frontend: Readline
       debconf: (This frontend requires a controlling tty.)
       debconf: falling back to frontend: Teletype
       invoke-rc.d: policy-rc.d denied execution of start.
       Processing triggers for ureadahead (0.100.0-16) ...
       Setting up xfonts-encodings (1:1.0.4-1ubuntu1) ...
       Setting up xfonts-utils (1:7.7+1) ...
       Setting up gsfonts-x11 (0.22) ...
       Processing triggers for libc-bin (2.19-0ubuntu6.9) ...
       Errors were encountered while processing:
        oracle-java7-installer
       E: Sub-process /usr/bin/dpkg returned an error code (1)
       The command '/bin/sh -c apt-get install -y oracle-java7-installer'            returned a non-zero code: 100

答案1

由于 Oracle 已移动下载链接,并且需要登录凭据才能下载旧版本的 Java,请按照以下步骤安装 Java 7:

1)从下载最新的 Java 版本http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html。您需要登录。2

) 删除jdk-7uXX-linux-x64.tar.gz/var/缓存/oracle-jdk7-安装程序/在哪里二十是版本号。3

)将下载的版本移至/var/缓存/oracle-jdk7-安装程序/使用以下命令

sudo mv jdk-7u(downloadedversion)-linux-x64.tar.gz /var/cache/oracle-jdk7-installer/


4)现在运行以下命令

sudo apt-get install oracle-java7-installer



答案2

错误的原因在于 Oracle 从其站点移除了二进制文件。虽然这些版本不久前已被弃用,但直到最近二进制文件仍可供下载。但他们现在将其移除。

webupd8 的网站于 2017 年 6 月 2 日对此进行了解释。Oracle 的下载页面

2015 年 4 月之后发布的 Java SE 7 更新以及 2013 年 4 月之后发布的 Java SE 6 更新仅通过 My Oracle Support 提供给 Oracle 客户(需要支持登录)。

Java SE Advanced 为用户提供商业功能、关键错误修复、安全修复和常规维护”。

点击此处查看完整详情http://www.webupd8.org/2017/06/why-oracle-java-7-and-6-installers-no.html

答案3

正如其他答案中提到的那样,Oracle 需要开发者帐户或支持合同才能从其网站下载除最新版本的 JRE/JDK 之外的任何内容,因为他们通常会发布一个版本来解决严重的 CVE(漏洞)。

该存储库有一个脚本,允许您根据您设置的参数和环境变量下载最新或旧版本。

https://github.com/vjkoskela/jdk-wrapper

答案4

我想在这里发帖,以防有人昨天在 Oracle 从 Java 181 升级到 191 时遇到这个问题。如果你遇到这个问题Java 8敬请期待这里直到新的 Java 8 安装程序针对 Ubuntu 进行更新为止,才能进行修复。

以下是针对 181 至 191 的修复:

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u181|JAVA_VERSION=8u191|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|SHA256SUM_TGZ="53c29507e2405a7ffdbba627e6d64856089b094867479edc5ede4105c1da0d65"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_181|J_DIR=jdk1.8.0_191|' oracle-java8-installer.* 

相关内容