如何选择Java安装包?

如何选择Java安装包?
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package openjdk-7-jre-headless is a virtual package provided by:
  oracle-java9-installer 9b130+9b130arm-1~webupd8~0
  oracle-java8-installer 8u101+8u101arm-1~webupd8~2
  oracle-java7-installer 7u80+7u60arm-0~webupd8~1
You should explicitly select one to install.

E: Package 'openjdk-7-jre-headless' has no installation candidate

我不确定如何“明确选择要安装的”。我该怎么做?

答案1

You should explicitly select one to install.意味着您需要发出命令来安装 3 个建议软件包中的 1 个,这些软件包提供类似的功能,但openjdk-7-jre-headless目前不可用。您可以发出如下命令

sudo apt install oracle-java9-installer或者
sudo apt install oracle-java8-installer或者
sudo apt install oracle-java7-installer


需要注意的是,您应该知道,xenial 版本中没有 OpenJDK-7 组件,因此openjdk-7-jre-headless包不存在。请参阅此处http://packages.ubuntu.com/search?keywords=openjdk-7-jre。OpenJDK-7 已在最新的 LTS 中被删除,您需要安装 openjdk-8 或 openjdk-9 才能使用 openjdk(与 Oracle JDK 不同)

我建议改用 openjdk-8,将所有包含 name 的包替换openjdk-7openjdk-8,然后继续安装。这将解决 Xenial 的问题。

如果你真的想继续使用 OpenJDK 7,请看这个问题

答案2

找到解决方案来自:

无法在 Ubuntu 16.04 中安装 Oracle Java 8

再次出现此问题,因为版本 151 已被归档。此版本目前由 PPA 引用。您可以使用以下命令将引用更新为 161:

sudo sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u161|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_161|' oracle-java8-installer.*

相关内容