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