在本指南中,我们将探讨如何在 Rocky Linux 9 中安装 Java Runtime Environment (JRE) 和 Java Developer Kit (JDK),本指南也适用于任何基于 RHEL 9 的系统。
许多软件都需要 Java 和 JVM(Java 的虚拟机),包括 Tomcat、 Jetty、 Glassfish、 Cassandra 和 Jenkins。
Java 是一种高级的、基于类的、面向对象的编程语言,旨在尽可能减少实现依赖项。Java 是由 Sun Microsystems (现在是 Oracle 的子公司)于 1995 年 开发的。James Gosling 被称为 Java 之父。
先决条件
- 最新的 Rocky Rocky Linux 9 系统
- 具有 sudo 访问权限的服务器或用户的 root 访问权限
- 从服务器访问 Internet
步骤概览
- 确保服务器是最新的
- 安装java
- 测试安装
- 切换多个 Java 版本
- 配置环境变量
确保服务器是最新的
在继续之前,让我们确保我们的服务器是最新的,并且所有的包都是最新版本,使用这些命令来实现这一点:
代码语言:txt复制sudo dnf -y update
如果有要升级的软件包,上述命令可能需要几分钟。
让我们也安装一些我们可能需要的常用软件包,我使用 vim 文本编辑器和 wget 下载软件包,请确保使用以下命令安装它们:
代码语言:txt复制sudo dnf -y install vim wget
安装 Java
使用以下命令检查您的系统中是否安装了 java。
代码语言:txt复制$ java -version
-bash: java: command not found
如果您看到 java: command not found ,则表示未安装 java,如果安装了 java,该命令将打印出 java 版本
默认 Rocky Linux Repos 中可用的 openjdk 版本不是最新的,获取最新信息https://jdk.java.net/17/
使用此 curl 命令下载:
代码语言:txt复制curl -LO https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
这是我服务器上的输出:
代码语言:txt复制$ curl -LO https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 178M 100 178M 0 0 76.3M 0 0:00:02 0:00:02 --:--:-- 76.3M
该文件将被下载到当前目录 openjdk-17.0.1_linux-x64_bin.tar.gz
代码语言:txt复制$ ls
openjdk-17.0.1_linux-x64_bin.tar.gz
让我们用 tar 命令解压包
代码语言:txt复制tar -xzf openjdk-17.0.1_linux-x64_bin.tar.gz
现在让我们将提取的内容移动到 /opt 目录
代码语言:txt复制sudo mv jdk-17.0.1/ /opt
现在内容已被提取并添加到 /opt 目录中,我们需要导出 Java 主目录,以便 Java 应用程序知道 JDK 安装在哪里,并更新路径以在 java 二进制目录中包含可执行文件,这样我们就可以在 java 不指定完整路径的情况下使用该命令。
.bashrc 让我们在文件中设置这些变量,使用文本编辑器打开文件,我使用的是 vim:
代码语言:txt复制vim ~/.bashrc
现在添加这些行来设置 Java 主目录并包含可执行文件二进制目录
代码语言:txt复制export JAVA_HOME=/opt/jdk-17.0.1
export PATH=$PATH:$JAVA_HOME/bin
使用这些设置后,您将必须注销然后登录或使用以下命令重新加载登录 shell:
代码语言:txt复制source ~/.bashrc
通过检查版本确认 Java 现在工作正常:
代码语言:txt复制$ java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1 12-39)
OpenJDK 64-Bit Server VM (build 17.0.1 12-39, mixed mode, sharing)
为了验证 JDK 是否安装正确,我们将检查 javac 的版本,它是 Java 编译器。
代码语言:txt复制$ javac -version
javac 17.0.1
测试安装
让我们通过创建一个打印出来的简单脚本来测试 Java 17 是否在此步骤中正确安装 Java is installed properly。
创建目录并切换到它
代码语言:txt复制mkdir simple-app
cd simple-app
我使用 vim 在我的系统中创建和编辑文本文件,在此步骤中使用您选择的文本编辑器,我将 Simple.java 使用以下命令创建一个文件:
代码语言:txt复制vim Simple.java
将这些内容添加到文件中
代码语言:txt复制public class Simple{
public static void main(String[] args) {
System.out.println("Citizix - Java is installed properly");
}
}
现在我们已经创建了我们的程序,我们需要使用 javac 编译器将 Java 源代码编译成字节码(类文件)。
代码语言:txt复制javac Simple.java
您将获得一个名为 的新文件 Simple.class,它是已编译的 Java 类文件。
代码语言:txt复制$ ls
Simple.class Simple.java
上面的命令只会将 Java 源代码编译成字节码,为了运行程序,我们使用类文件的名称作为参数运行 java 命令。
代码语言:txt复制$ java Simple
如果一切正常,您将Citizix - Java is installed properly在屏幕上看到一条消息“ ”。
代码语言:txt复制$ java Simple
Citizix - Java is installed properly
配置环境变量
一些 Java 应用程序需要 JAVA_HOME 环境变量才能正常运行。有些程序的执行方式非常具体,如果 JAVA_HOME 没有设置,你会得到一个错误,设置 JAVA_HOME 将防止出现此问题。
要检查存在哪些 Java 安装和路径,请使用以下命令:
代码语言:txt复制$ which java
/opt/jdk-17.0.1/bin/java
在我的情况下,我得到的 Java 安装二进制路径是这样的 /opt/jdk-17.0.1/bin/java
我们将 /etc/environment 在所有应用程序都可以访问的环境文件中设置此路径。
用 vim 打开文件:
代码语言:txt复制sudo vim /etc/environment
现在我们需要添加一行将 Java 主页导出到文件中,如下所示 export JAVA_HOME=... ,使值成为我们为 Java 安装获得的路径:
代码语言:txt复制export JAVA_HOME=/opt/jdk-17.0.1/bin/java
该文件会将 OpenJDK 17 的 JAVA_HOME 路径设置为系统中所有用户的环境变量。
要应用更改,请运行以下命令。
代码语言:txt复制source /etc/environment
要验证是否已应用路径变量,请运行以下命令。
代码语言:txt复制echo $JAVA_HOME
该路径应设置为您在上面复制的 OpenJDK 17 的路径。这是我的情况下的价值:
代码语言:txt复制$ echo $JAVA_HOME
/opt/jdk-17.0.1/bin/java
从现在开始,您不必在每次使用 Java 程序时都设置 JAVA_HOME 路径。此外,如果您想使用其他 OpenJDK 版本而不是 17,请相应地调整路径。