如何从 Linux 发行版的仓库中安装 Java
创始人
2024-03-02 08:41:15
0

无论你喜欢哪个发行版和包管理器,都可以都很容易地在你的 Linux 系统上安装 Java。

把 Java 安装到你的 Linux 桌面上有多种方法。一个明显的方式是使用你的 Linux 发行版中提供的软件包。请注意,这并不适合所有人。例如,有些用户可能需要一个非常具体的 Java 版本。

在你开始之前,你必须确定你需要“哪种 Java”。你是否只需要运行一些 .class 文件或 .jar 文件?还是你正在编写一些需要编译的代码?

就我而言,我运行的大部分 Java 都是我自己(至少部分)编写的 Java,所以安装完整的 Java 开发工具包(或称 JDK)总是有意义的,它包含了 Java 编译器、库和一些非常有用的工具。当然,在这里,我们更倾向于使用开源的 JDK,称为 OpenJDK

由于我主要在 Ubuntu Linux 发行版上工作,我的软件包管理器是 apt。我可以用 apt 来查找哪些 OpenJDK 包是可用的:

apt list OpenJDK\*

这个命令的输出看起来像这样:

Listing... Done
openjdk-11-dbg/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-dbg/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-demo/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-demo/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-doc/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 11.0.11+9-0ubuntu2 all
openjdk-11-jdk-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-jdk-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-jdk/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-jdk/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-jre-dcevm/hirsute 11.0.10+1-1 amd64
openjdk-11-jre-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-jre-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-jre-zero/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-jre-zero/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-jre/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64
openjdk-11-jre/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386
openjdk-11-source/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 11.0.11+9-0ubuntu2 all
openjdk-15-dbg/hirsute 15.0.3+3-1 amd64
openjdk-15-dbg/hirsute 15.0.3+3-1 i386
openjdk-15-demo/hirsute 15.0.3+3-1 amd64
...
openjdk-8-jre/hirsute-updates,hirsute-security 8u292-b10-0ubuntu1 i386
openjdk-8-source/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 8u292-b10-0ubuntu1 all

我在上面用 ... 省略了不少行。

事实证明,即使限制在 OpenJDK 中,我仍然有很多选择:

  • 不同的架构(在我的例子中,i386 还是 amd64)。
  • 不同的 Java 版本(就我而言,有 8、11、15、16、17 等)。
  • 纯粹的 OpenJDK 或无头版本。
  • Java 运行时环境(JRE)。
  • 用于调试、演示,以及是否包含源代码等。

同样,在我的情况中,我主要对纯粹的普通 OpenJDK 感兴趣。

假设我想为我的 amd64 架构安装 Java 11 版本的普通 OpenJDK,我可以输入:

sudo apt install -a=amd64 openjdk-11-jdk

几分钟后,我就可以编译、运行、调试和打包我的 Java 代码了。

注意,很有可能需要同时安装多个版本的 Java,有时甚至是必要的。在 Ubuntu 中,有一个有用的工具,叫做 update-java-alternatives,它可以 显示并配置在使用哪个 Java 环境

那些使用不同 Linux 发行版的人,一般来说,可以采取类似的方法。其他的几个发行版(如 Debian 和 Mint)也使用 apt ,尽管可用的软件包可能不同。发行版可能使用不同的软件包管理器。例如, Fedora 安装 Java 的文档页面 显示了如何使用 Fedora dnf 包管理器来处理安装。首先,为了显示可用的版本,输入:

dnf search openjdk

接下来,要安装完整的开发 x86_64 架构版本,请输入:

sudo dnf install java-11-openjdk-devel.x86_64

同样地,Fedora 提供了 alternatives 工具来 显示和配置 Java 环境

再比如,很棒的 Arch Linux 维基 显示对应的软件包是 jdk11-openjdk。该维基还解释了许多在 Arch 中使用 Java 的其他重要细节,比如使用 archlinux-java 工具来显示安装了哪些 Java 环境或选择一个不同的默认环境。Arch 使用一个叫 pacman 的包管理器,它也有文档 在 Arch Linux 维基上

不管你喜欢哪个发行版和软件包管理器,在你的 Linux 系统上获得 Java 是很容易的。当然,在安装之前,要考虑版本和功能。还要记住,在同一台电脑上有管理两个或多个 Java 版本的方法。我的大多数例子都使用了 apt,但也要记得可以选择使用 dnf


via: https://opensource.com/article/21/9/install-java-linux-repositories

作者:Chris Hermansen 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

耿老师教你学Java:图图...
摘要:图图学JGraphT开源框架是教材《数据结构与算法》-jav...
2025-03-01 09:48:45
以 AI 之名,激发未来创...
人工智能,正在重塑世界。 2 月 5 日至 4 月 23 日,加入...
2025-02-11 10:44:29
Bytedeco.java...
如果在使用Bytedeco.javacv.FFmpegFrameG...
2025-01-12 22:01:36
Bytebuddy循环依赖...
解决循环依赖问题的一种方法是使用延迟加载(lazy loading...
2025-01-12 21:32:15
ByteBuddy无法保留...
解决方法是使用ByteBuddy的@FieldProxy注解来替代...
2025-01-12 21:32:03
Bytebuddy构造函数...
使用Byte Buddy构造函数时,可以遵循以下步骤来解决可能引发...
2025-01-12 21:30:54

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...