首页 > 解决方案 > Oracle java 8 找不到包

问题描述

这是我的码头文件:

FROM debian:jessie

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && \
    apt install -y locales curl software-properties-common gnupg && \
    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list && \
    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list && \
    echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \
    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 && apt-get update && apt-get install -y curl dnsutils oracle-java8-installer ca-certificates && \
    locale-gen en_US.UTF-8 en_us && dpkg-reconfigure locales && dpkg-reconfigure locales && locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8

ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
ENV LC_ALL C.UTF-8

当我尝试使用此命令构建映像时:docker build -t javaimage -f java.Dockerfile .,我收到以下错误:

E: Unable to locate package oracle-java8-installer
The command '/bin/sh -c apt-get update &&     apt install -y locales curl software-properties-common gnupg &&     echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list &&     echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list &&     echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections &&     apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886 && apt-get update && apt-get install -y curl dnsutils oracle-java8-installer ca-certificates &&     locale-gen en_US.UTF-8 en_us && dpkg-reconfigure locales && dpkg-reconfigure locales && locale-gen C.UTF-8 && /usr/sbin/update-locale LANG=C.UTF-8' returned a non-zero code: 100
roger@NB-SBDEV1149:~/Projet

有谁知道我该如何解决这个问题?使用 openjdk 不是一种选择。

标签: javalinuxdockerdockerfile

解决方案


感谢 Oracle 的 Java 新许可证,PPA 不再有效。在这里查看:https ://launchpad.net/~webupd8team/+archive/ubuntu/java

针对 Oracle Java SE 的新 Oracle 技术网络许可协议与之前的 Oracle JDK 许可有很大不同。新许可证允许某些用途,例如个人使用和开发用途,无需任何费用——但之前的 Oracle JDK 许可证授权的其他用途可能不再可用。在下载和使用本产品之前,请仔细阅读条款。此处提供常见问题解答: https ://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html

Oracle Java 下载现在需要登录 Oracle 帐户才能下载 Java 更新,例如最新的 Oracle Java 8u211 / Java SE 8u212。因此,我无法使用最新的 Java 更新 PPA(并且旧链接已被 Oracle 破坏)。

出于这个原因,此 PPA 已停止(除非我找到解决此限制的方法)。

如果你愿意,你可以用openjdkapt-get install openjdk-8-jre来代替


推荐阅读