在 Linux 上手动安装 Java
手动安装为用户提供了对 Java 运行时环境的最高级别的控制。
使用 Linux 发行版的包管理工具来安装 Java 软件包很容易。但是,有时您需要手动安装 Java。这对于基于 Java 的应用程序服务器(例如 Tomcat 或 JBoss)的管理员来说尤其重要。许多开源和专有软件产品都依赖于这些服务。
开发者工具包还是运行时工具包?
Java 虚拟机 (JVM) 以两种不同的形式提供:Java 开发工具包 (JDK) 或 Java 运行时环境 (JRE)。
软件开发人员通常需要 JDK。它包含编译、运行和测试源代码所需的二进制文件。部署预构建的 Java 应用程序通常只需要 JRE。它不包括编译器和其他开发工具。由于安全性的提高和空间限制,JRE 通常安装在生产环境中。
获取Java
您可以从 Internet 下载开源 Java 软件。您可以在 Red Hat Developer、Adoptium.net 或 Azul 的 Zulu 社区版中找到 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
提取压缩包。请注意,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_HOME 和 PATH:
$ 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 运行时环境的最高级别的控制。