在Ubuntu 18.04上安装Java 8时遇到问题 - oracle-java8-installer和java-common出现错误。

如您所见屏幕截图,我被告知要安装< strong>apt-get install oracle-java8-install ,但它给了我一个错误,说我没有安装java-common的met依赖项。好吧,很好。现在我尝试安装< strong>apt-get install java-common。另一个错误!现在我完全迷失了。

Ubuntu的版本是18.04,经过这么多年为什么还是安装像这样的简单东西仍然很麻烦。

我要哭了。

enter image description here


看起来你正在按照一个过时的教程进行操作。它是否必须使用Oracle JDK?Ubuntu在软件仓库中有OpenJDK的安装包。对于JDK 8,包名是openjdk-8-jdk。顺便说一下,OpenJDK是Java的参考实现。还有一个名为default-jdk的元包,但我不确定它会安装哪个版本的JDK,在16.04版本中是JDK 8。 - aasril
我尝试执行 sudo apt install openjdk-8-jdk,但出现了依赖错误:oracle-java8-installer : 依赖于 java-common,但它无法安装 -- 然后我执行了 apt install java-common,但出现了错误:无法找到 oracle-java-common 包。 - Patoshi パトシ
你需要先修复/移除损坏的软件包。这是完全不同的问题。你可以在这个网站或者谷歌上搜索解决方案。 - aasril
2个回答

为什么这个东西这么麻烦呢?Oracle版本的Java无法像其他Ubuntu软件包一样进行分发。解决这个问题的最佳方案是使用openJDK版本的Java。
如果你非常需要使用Oracle Java 8,你需要将一个PPA添加到你的软件源列表中:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt update

然后安装Oracle Java 8(我假设您也希望将其设置为默认)。
$ sudo apt install oracle-java8-set-default

这应该开始安装,并且您会收到一个提示,要求接受许可协议。使用键盘接受它,然后它应该开始下载Oracle Java 8。您应该看到一个在屏幕上滚动的进度指示器。
它应该安装Oracle Java 8更新181版。

不行!我又遇到了依赖错误:它说要安装oracle-java8-installer,然后安装失败,要求安装oracle-java-common,但这也失败了!“无法找到软件包oracle-java-common”。 - Patoshi パトシ
无法工作。因为此ppa已被禁用。 - Tobbey
我认为PPA仍然存在,但可能只支持Ubuntu 18.10及以下版本。https://launchpad.net/~webupd8team/+archive/ubuntu/java - emptythevoid

我的源代码似乎都搞乱了。在这个文件中,所有的内容都被注释掉了:/etc/apt/sources.list。
我将以下内容粘贴到了其中:
#------------------------------------------------------------------------------#
#                            OFFICIAL UBUNTU REPOS                             #
#------------------------------------------------------------------------------#


###### Ubuntu Main Repos
deb http://us.archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse 

###### Ubuntu Update Repos
deb http://us.archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse 
deb http://us.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse