在 Linux 上手动安装 Java

手动安装为用户提供了对 Java 运行时环境的最高级别控制。
32 位读者喜欢这篇文章。
How Linux got to be Linux: Test driving 1993-2003 distros

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

使用 Linux 发行版的软件包管理工具安装 Java 软件包很容易。但是,有时您需要手动安装 Java。这对于基于 Java 的应用程序服务器(如 Tomcat 或 JBoss)的管理员尤其重要。许多开源和专有软件产品都依赖于这些服务。

开发者工具包还是运行时工具包?

Java 虚拟机 (JVM) 以两种不同的形式提供:Java 开发工具包 (JDK) 或 Java 运行时环境 (JRE)。

软件开发人员通常需要 JDK。它包含编译、运行和测试源代码所需的二进制文件。部署预构建的 Java 应用程序通常只需要 JRE。它不包括编译器和其他开发工具。JRE 通常安装在生产环境中,因为安全性更高且空间有限。

获取 Java

您可以从互联网下载开源 Java 软件。您可以在 Red Hat DeveloperAdoptium.net 或 Azul 的 Zulu Community edition 找到 OpenJDK tarball 的下载。

安装 Java

设置一个目录来保存 Java 文件。我喜欢创建一个名为 java 的目录,这样我就可以在专用目录中下载和提取 tarball。

$ mkdir -p java/jdk

让我们在这个例子中使用 JDK。将下载的文件保存到 jdk 目录。然后进入该目录

$ cd java/jdk
$ ls
OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz

提取 tarball。请注意,tar 将创建一个新目录

$ tar xvzf OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz
$ ls
jdk-11.0.12+7 OpenJDK11U-jdk_x64_linux_hotspot_11.0.12_7.tar.gz

使用 -version 选项确认新 JVM 的版本

$ cd jdk-11.0.12+7/bin
$ ./java -version

JVM 的版本输出类似于这样

openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment Temurin-11.0.12+7 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Temurin-11.0.12+7 (build 11.0.12+7, mixed mode)

环境变量

为了确保给定的应用程序正常工作,它需要确切地知道如何定位 JVM。应设置两个主要变量:JAVA_HOMEPATH

$ echo $JAVA_HOME
$ echo $PATH

这些可以在用户的 .bashrc 文件中设置。确保变量位于 任何设置 PATH 的现有代码 之后

#Set the JAVA_HOME
export JAVA_HOME=~/java/jdk/jdk-11.0.12+7
#Add the JAVA_HOME to the PATH
export PATH="$JAVA_HOME/bin:$PATH"

手动安装的情况

不同的情况需要手动安装 Java。考虑以下三种情况。

一种情况可能是需要不同版本(可能较旧)的 Java,而该版本在您的 Linux 发行版的软件存储库中不可用。

另一个例子可能是出于安全考虑的决定,即 Java 不会默认安装在操作系统上或“根级别”。

第三种情况可能是需要多个不同版本的 Java,通常是因为同一服务器上运行着 J2EE Web 应用程序的多个实例。由于虚拟机和容器的广泛使用以隔离进程,如今这种操作系统共享已不太常见。但是,维护不同的容器镜像的需求仍然使理解手动安装至关重要。

总结

我演示了如何安装 Java 运行时环境,但您可以随意制定最适合您需求的约定。最终,手动安装为用户提供了对 Java 运行时环境的最高级别控制。

接下来阅读
标签
Alan Formy-Duval Opensource.com Correspondent
Alan 拥有 20 年的 IT 经验,主要在政府和金融部门。他最初是一家增值经销商,之后转入系统工程。Alan 的背景是高可用性集群应用程序。他撰写了 Oracle Press/McGraw Hill 'Oracle Solaris 11 System Administration' 书籍中的“用户和组”以及“Apache 和 Web 堆栈”章节。

1 条评论

内容丰富的优秀集合。我非常喜欢这些文章,它们对我的当前 js 项目帮助很大。
www.rwit.io

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.