如何从 Linux 发行版的仓库中安装 Java

运维 系统运维
无论你喜欢哪个发行版和包管理器,都可以都很容易地在你的 Linux 系统上安装 Java。把 Java 安装到你的 Linux 桌面上有多种方法。

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

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

[[427750]]

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

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

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

  1. apt list OpenJDK\* 

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

  1. Listing... Done 
  2. openjdk-11-dbg/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  3. openjdk-11-dbg/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  4. openjdk-11-demo/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  5. openjdk-11-demo/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  6. openjdk-11-doc/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 11.0.11+9-0ubuntu2 all 
  7. openjdk-11-jdk-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  8. openjdk-11-jdk-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  9. openjdk-11-jdk/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  10. openjdk-11-jdk/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  11. openjdk-11-jre-dcevm/hirsute 11.0.10+1-1 amd64 
  12. openjdk-11-jre-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  13. openjdk-11-jre-headless/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  14. openjdk-11-jre-zero/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  15. openjdk-11-jre-zero/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  16. openjdk-11-jre/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 amd64 
  17. openjdk-11-jre/hirsute-updates,hirsute-security 11.0.11+9-0ubuntu2 i386 
  18. openjdk-11-source/hirsute-updates,hirsute-updates,hirsute-security,hirsute-security 11.0.11+9-0ubuntu2 all 
  19. openjdk-15-dbg/hirsute 15.0.3+3-1 amd64 
  20. openjdk-15-dbg/hirsute 15.0.3+3-1 i386 
  21. openjdk-15-demo/hirsute 15.0.3+3-1 amd64 
  22. ... 
  23. openjdk-8-jre/hirsute-updates,hirsute-security 8u292-b10-0ubuntu1 i386 
  24. 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,我可以输入:

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

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

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

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

  1. dnf search openjdk 

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

  1. 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。

 

责任编辑:未丽燕 来源: Linux中国
相关推荐

2021-11-03 08:00:00

Linux开源操作系统

2016-09-18 10:08:38

Linux发行版SUSE Studio

2022-11-20 15:53:06

UbuntuLinuxFFmpeg

2021-06-11 06:10:25

Linux发行版操作系统

2019-04-09 15:38:18

Linux发行版Windows

2021-07-20 10:16:35

LinuxCBL-Mariner微软

2009-12-21 16:27:55

2018-04-17 10:00:18

Linux发行版面向企业

2009-10-13 09:22:01

Linux发行版

2015-09-10 16:57:49

字体发行版Linux

2021-09-06 11:29:59

LinuxCutefishOS操作系统

2022-12-14 15:35:39

Linux发行版

2009-12-01 16:55:40

Live Linux

2018-12-24 09:48:45

UbuntuLinuxPutty

2011-02-16 16:23:09

Debian发行版

2020-06-30 09:38:14

Linux发行版操作系统

2009-02-09 10:56:50

Linux发行版

2013-11-11 11:34:56

UbuntuLinux发行版Unity

2011-09-09 10:49:18

2020-03-10 08:00:02

Kubernetes发行版容器
点赞
收藏

51CTO技术栈公众号