这个答案解释了为什么它被删除。我对原因不感兴趣,相反,我需要安装它。这个虚拟机专门用于我的 Java 应用程序,所以我对使用容器并不感兴趣。该答案提到您可以从 Stretch 存储库中获取它,但我不想创建 Franken-Debian,所以我不确定这是否是个好主意。我需要从 OpenJDK 安装 Java 8 JRE。我安装了 Debian 11,并且由于管理程序错误*而使用了高级安装。
这是我为安装它所做的:
$ sudo apt update
...
$ sudo apt install openjdk-8-jre
Reading package lists... Done
Building dependency tree... Done
Building state information... Done
Package openjdk-8-jre is not available, but is referenced to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another sources
However the following packages replace it:
nvidia-openjdk-8-jre
E: Package 'openjdk-8-jre' has no installation candidate
如果有帮助,这是我的/etc/apt/sources.list
文件:
... commented lines ommitted ...
deb http://deb.debian.org/debian/ bullseye main non-free contrib
deb-src http://deb.debian.org/debian/ bullseye main non-free contrib
deb http://security.debian.org/debian/security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian/bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/bullseye-updates main contrib non-free
所以,我尝试搜索它......但它不存在(我正在使用 Bullseye/11 - 当前的稳定版本)。有趣的是,它在 Debian Stretch中。除了...我想使用 Bullseye,因为它是稳定的,而不是 Stretch。那么我应该如何在 Bullseye 中安装 OpenJDK 8 JRE?
我应该将 Stretch 存储库添加到我的sources.list
? 他们建议不要这样做,那么获取 Java 8 的正确方法是什么?
*我的管理程序要求在使用 UEFI 时grub-install
具有标志。--removable
IDK 为什么它需要,但我必须使用高级安装来启用可移动标志。不过,这应该无关紧要。
过去 Debian 软件包的副本可在http://snapshot.debian.org/获得
你可以在那里搜索openjdk-8。最后一个可用的版本是 8u322-b06-1~deb9u1,记录在http://snapshot.debian.org/package/openjdk-8/8u322-b06-1%7Edeb9u1/ 你可以下载二进制包(.deb)您的架构并使用
sudo dpkg -i *.deb
.它是否有效取决于构建它的库版本。8u312-b07-1(和其他旧版本)也可用。
或者,您可以在https://tracker.debian.org/pkg/openjdk-8访问软件包的 Debian 跟踪页面。openjdk-8 仍然在那里列为可用于不稳定的(作为版本 8u312-b07-1)。如果您单击二进制包的链接,它们将引导您下载 deb 包的链接。
snapshot.debian.org 可以说对于临时下载更简单,因为它在一个地方有 deb 文件(debian 包存储库在http://ftp.us.debian.org/debian/pool/main/o/中找到它们openjdk-8/或其镜像站点)
snapshot.debian.org 还建议配置sources.list 的说明。但是,如果软件包不太可能经常更新,那么手动下载 deb 文件可能会更简单。
转到收养*。进入发布页面,OS选择Linux,架构选择x64(假设你有AMD64/x64机器),版本选择8,包类型选择JRE(或者如果需要编译代码,选择JDK ),然后下载
tar.gz
文件。提取文件:
进入解压后的目录,进入 bin 文件夹(我不小心得到了 JDK 而不是 JRE,所以我将使用它进行演示):
查看版本是否正确:
让我们将其添加到我们的路径中:
如果您希望它始终位于路径中,请将其添加到您的
~/.bashrc
文件中(当然,如果您使用的是 Bash)。现在测试它:
完毕!
*他们制作预编译的 OpenJDK,他们以前是 AdoptOpenJDK
由于 Oracle 更改了 Java 许可,Bellsoft (非附属公司)在提供openJDK 安装程序方面做得很好。他们只是工作,你可以选择:
您一定会在https://bell-sw.com/pages/downloads/#/java-8-lts找到正确的安装程序。
如果您愿意,可以安装多个 Java 版本。如果您需要在版本之间进行切换,您可能会对这个答案感兴趣。