百度云服务器 AlmaLinux9安装java21

在我们开始在 AlmaLinux 9 上安装 Java 之前,选择合适的 OpenJDK 软件包。该发行版提供了三个主要版本,根据你的需求自己选择一个合适的版本。

  • java-21-openjdk(标准运行时环境):提供运行 Java 应用程序所需的完整 Java 运行时。因此,如果您想在不进行任何开发的情况下运行 Java 程序(包括基于 GUI 的应用程序),那么这就是您的最佳选择。
  • java-21-openjdk-headless(最小运行时):针对服务器或命令行环境优化的精简运行时。不支持 GUI,不包括 AWT、Swing 和其他 X11 依赖项。非常适合不需要图形组件的环境。
  • java-21-openjdk-devel(开发工具):提供用于编译和构建 Java 应用程序的 Java 开发工具包 (JDK)。如果您计划编写、编译或构建 Java 应用程序,而不仅仅是运行它们,那么这就是您所需要的。

基于以上所有,我建议使用" java-21-openjdk-devel "软件包作为您的一体化解决方案。即使您不打算自己编译 Java 应用,拥有此功能仍然非常方便。许多服务在运行过程中会动态编译 Java 代码,因此安装此软件包可以让大多数 Java 设置更加轻松。

步骤一:首先我们要连接上百度云服务器

步骤二:安装命令

复制代码
sudo dnf install java-21-openjdk-devel

下载并安装软件包后,使用下面提供的命令验证安装是否成功

复制代码
java -version

它应该输出类似以下内容:

这就代表我们已经安装了java21了。

步骤三 :为了后续各种应用程序(例如 Maven、GradleTomcatJenkins 等)使用" JAVA_HOME "来定位 JDK 安装目录,所以我们设置JAVA_HOME环境变量。

首先,使用命令找到java的安装目录

复制代码
readlink -f /usr/bin/java | sed "s:bin/java::"

执行结果如下:

其次,创建 java.sh脚本文件

复制代码
sudo tee /etc/profile.d/java.sh > /dev/null <<'EOF'
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
export PATH=$JAVA_HOME/bin:$PATH
EOF

最后,允许刚创建的脚本

复制代码
sudo chmod +x /etc/profile.d/java.sh

运行成功后,请退出服务器的远程连接界面。然后重新连接服务器,再执行一下命令来验证是否运行成功,如果你不退出服务器远程连接,直接用命令是不会出来任何结果的。

复制代码
echo $JAVA_HOME

如果显示如下内容,说明环境变量设置成功

如果你想卸载java

首先,使用以下命令找出所有本地安装的 Java 包

复制代码
rpm -aq | grep openjdk

然后,只需将它们的名称作为参数传递给dnf remove命令:

复制代码
sudo dnf remove java-21-openjdk-headless-21.0.10.0.7-1.el9.alma.1.x86_64 java-21-openjdk-21.0.10.0.7-1.el9.alma.1.x86_64 java-21-openjdk-devel-21.0.10.0.7-1.el9.alma.1.x86_64

最后,确保删除您之前创建的" java.sh "文件

复制代码
sudo rm /etc/profile.d/java.sh
相关推荐
LiLiYuan.6 分钟前
【字符串常量池】
java·开发语言·面试
sxstj7 分钟前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
国际云,接待10 分钟前
Nginx 后面接负载均衡,502/504 到底该先查哪里?
运维·nginx·负载均衡
Sylvia33.12 分钟前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
cfm_291427 分钟前
高并发系统缓存全解
java·缓存
16月6日-晴32 分钟前
Java面向对象进阶—static
java·开发语言
刘某的Cloud1 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
xiaohaiAIgeo1 小时前
【2026年】ASHRAE 110与EN 14175通风柜测试标准对比:进口与国产品牌性能差距
java·前端·数据库·科普知识
小此方1 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
meilindehuzi_a1 小时前
TypeScript面试题:interface 与 type:相同点、核心区别与选择指南
java·ubuntu·typescript