如何在Rocky/Alma Linux 9 上安装 Java 17?

简介: Java 是一种高级的、基于类的、面向对象的编程语言,旨在尽可能减少实现依赖项。Java 是由 Sun Microsystems (现在是 Oracle 的子公司)于 1995 年 开发的。James Gosling 被称为 Java 之父。

在本指南中,我们将探讨如何在 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 版本
  • 配置环境变量

确保服务器是最新的

在继续之前,让我们确保我们的服务器是最新的,并且所有的包都是最新版本,使用这些命令来实现这一点:

sudo dnf -y update

如果有要升级的软件包,上述命令可能需要几分钟。

让我们也安装一些我们可能需要的常用软件包,我使用 vim 文本编辑器和 wget 下载软件包,请确保使用以下命令安装它们:

sudo dnf -y install vim wget

安装 Java

使用以下命令检查您的系统中是否安装了 java。

$ java -version
-bash: java: command not found

如果您看到 java: command not found ,则表示未安装 java,如果安装了 java,该命令将打印出 java 版本

默认 Rocky Linux Repos 中可用的 openjdk 版本不是最新的,获取最新信息https://jdk.java.net/17/

使用此 curl 命令下载:

curl -LO https://download.java.net/java/GA/jdk17.0.1/2a2082e5a09d4267845be086888add4f/12/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz

这是我服务器上的输出:

$ 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

$ ls
openjdk-17.0.1_linux-x64_bin.tar.gz

让我们用 tar 命令解压包

tar -xzf openjdk-17.0.1_linux-x64_bin.tar.gz

现在让我们将提取的内容移动到 /opt 目录

sudo mv jdk-17.0.1/ /opt

现在内容已被提取并添加到 /opt 目录中,我们需要导出 Java 主目录,以便 Java 应用程序知道 JDK 安装在哪里,并更新路径以在 java 二进制目录中包含可执行文件,这样我们就可以在 java 不指定完整路径的情况下使用该命令。

.bashrc 让我们在文件中设置这些变量,使用文本编辑器打开文件,我使用的是 vim:

vim ~/.bashrc

现在添加这些行来设置 Java 主目录并包含可执行文件二进制目录

export JAVA_HOME=/opt/jdk-17.0.1
export PATH=$PATH:$JAVA_HOME/bin

使用这些设置后,您将必须注销然后登录或使用以下命令重新加载登录 shell:

source ~/.bashrc

通过检查版本确认 Java 现在工作正常:

$ 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 编译器。

$ javac -version
javac 17.0.1

测试安装

让我们通过创建一个打印出来的简单脚本来测试 Java 17 是否在此步骤中正确安装 Java is installed properly。

创建目录并切换到它

mkdir simple-app
cd simple-app

我使用 vim 在我的系统中创建和编辑文本文件,在此步骤中使用您选择的文本编辑器,我将 Simple.java 使用以下命令创建一个文件:

vim Simple.java

将这些内容添加到文件中

public class Simple{
   public static void main(String[] args) {
      System.out.println("Citizix - Java is installed properly");
   }
}

现在我们已经创建了我们的程序,我们需要使用 javac 编译器将 Java 源代码编译成字节码(类文件)。

javac Simple.java

您将获得一个名为 的新文件 Simple.class,它是已编译的 Java 类文件。

$ ls
Simple.class  Simple.java

上面的命令只会将 Java 源代码编译成字节码,为了运行程序,我们使用类文件的名称作为参数运行 java 命令。

$ java Simple

如果一切正常,您将Citizix - Java is installed properly在屏幕上看到一条消息“ ”。

$ java Simple
Citizix - Java is installed properly

配置环境变量

一些 Java 应用程序需要 JAVA_HOME 环境变量才能正常运行。有些程序的执行方式非常具体,如果 JAVA_HOME 没有设置,你会得到一个错误,设置 JAVA_HOME 将防止出现此问题。

要检查存在哪些 Java 安装和路径,请使用以下命令:

$ which java
/opt/jdk-17.0.1/bin/java

在我的情况下,我得到的 Java 安装二进制路径是这样的 /opt/jdk-17.0.1/bin/java

我们将 /etc/environment 在所有应用程序都可以访问的环境文件中设置此路径。

用 vim 打开文件:

sudo vim /etc/environment

现在我们需要添加一行将 Java 主页导出到文件中,如下所示 export JAVA_HOME=... ,使值成为我们为 Java 安装获得的路径:

export JAVA_HOME=/opt/jdk-17.0.1/bin/java

该文件会将 OpenJDK 17 的 JAVA_HOME 路径设置为系统中所有用户的环境变量。

要应用更改,请运行以下命令。

source /etc/environment

要验证是否已应用路径变量,请运行以下命令。

echo $JAVA_HOME

该路径应设置为您在上面复制的 OpenJDK 17 的路径。这是我的情况下的价值:

$ echo $JAVA_HOME
/opt/jdk-17.0.1/bin/java

从现在开始,您不必在每次使用 Java 程序时都设置 JAVA_HOME 路径。此外,如果您想使用其他 OpenJDK 版本而不是 17,请相应地调整路径。

目录
相关文章
|
8天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
21 5
|
18天前
|
Java Linux Windows
如何查看已安装的 Java 版本
要查看已安装的 Java 版本,打开命令提示符或终端,输入 `java -version`,回车后即可显示当前系统中 Java 的版本信息。
|
20天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
48 2
|
21天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
30 3
|
4天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
33 0
|
10天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
22 0
|
23天前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
28 0
|
Java 关系型数据库 Windows
【java】java10安装问题
不知道是我安装了Octave还是啥。一天内两次蓝屏,我就把电脑恢复了。 在重装java环境的时候选择了最新的java10,配置完后用java -version时提示以下错误 C:\Users\28178>java -version Error: could not find java.dll Error: Could not find Java SE Runtime Environment.   我又检查了几遍环境变量,没有问题。
1119 0
|
9天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
5天前
|
安全 Java 开发者
深入解读JAVA多线程:wait()、notify()、notifyAll()的奥秘
在Java多线程编程中,`wait()`、`notify()`和`notifyAll()`方法是实现线程间通信和同步的关键机制。这些方法定义在`java.lang.Object`类中,每个Java对象都可以作为线程间通信的媒介。本文将详细解析这三个方法的使用方法和最佳实践,帮助开发者更高效地进行多线程编程。 示例代码展示了如何在同步方法中使用这些方法,确保线程安全和高效的通信。
25 9