这个答案解释为什么它被删除了。我对原因不感兴趣,相反,我需要安装它。该虚拟机专门用于我的 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
我不知道为什么需要这样做,但我必须使用高级安装来启用可移动标志。不过,这应该是无关紧要的。
答案1
过去的 Debian 软件包的副本可在以下位置获得:http://snapshot.debian.org/
您可以在那里搜索 openjdk-8。最后可用版本是 8u322-b06-1~deb9u1,登录于http://snapshot.debian.org/package/openjdk-8/8u322-b06-1%7Edeb9u1/ 您可以下载适合您的架构的二进制包 (.deb) 并使用 .deb 进行安装sudo dpkg -i *.deb
。
它是否有效取决于它所针对的库版本。 8u312-b07-1(和其他旧版本)也可用。
或者,您可以访问该软件包的 Debian 跟踪页面:https://tracker.debian.org/pkg/openjdk-8。 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 文件可能会更简单。
答案2
自从 Oracle 更改 Java 许可以来,贝尔软件(非附属)在提供方面做得很好openJDK 安装程序。它们只是起作用,您可以选择:
- JDK/JRE
- Java 8 / 11 / 17 / 19
- 有或没有 JavaFX
- Windows / Debian / Redhat / Alpine / Solaris / macOs 安装程序
您一定会在以下位置找到正确的安装程序https://bell-sw.com/pages/downloads/#/java-8-lts。
如果您愿意,您可以安装多个 Java 版本。如果您需要在版本之间切换,您可能对此感兴趣回答。
答案3
前往领养*。去发布页面,操作系统选择Linux,架构选择x64(假设你有AMD64/x64机器),版本选择8,包类型选择JRE(或者如果需要编译代码,选择JDK),下载tar.gz
文件。
提取文件:
$ tar xf OPENJDK8U-[something].tar.gz
进入解压的目录,然后进入 bin 文件夹(我不小心得到了 JDK 而不是 JRE,所以我将使用它进行演示):
cd jdk8u[something]
cd bin
查看版本是否正确:
$ ./java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Temurin)(build [something])
OpenJDK 64-Bit Server VM (Temurin)(build [something], mixed mode)
让我们将其添加到我们的路径中:
export PATH=$PATH:/path/to/it/jdk8u322-b06/bin
如果您希望它始终位于路径中,请将其添加到您的~/.bashrc
文件中(当然,如果您使用的是 Bash)。
现在测试一下:
$ cd ~
$ java -version
...
完毕!
*他们制作预编译的OpenJDK,他们以前是AdoptOpenJDK