百度云服务器 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
相关推荐
小北方城市网2 小时前
Redis 分布式锁高可用实现:从原理到生产级落地
java·前端·javascript·spring boot·redis·分布式·wpf
六义义3 小时前
java基础十二
java·数据结构·算法
步步为营DotNet3 小时前
深度剖析.NET中IHostedService:后台服务管理的关键组件
服务器·网络·.net
一叶星殇3 小时前
.NET WebAPI:用 Nginx 还是 IIS 更好
运维·nginx·.net
毕设源码-钟学长3 小时前
【开题答辩全过程】以 基于SpringBoot的智能书城推荐系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
笨手笨脚の4 小时前
深入理解 Java 虚拟机-03 垃圾收集
java·jvm·垃圾回收·标记清除·标记复制·标记整理
莫问前路漫漫4 小时前
WinMerge v2.16.41 中文绿色版深度解析:文件对比与合并的全能工具
java·开发语言·python·jdk·ai编程
九皇叔叔4 小时前
【03】SpringBoot3 MybatisPlus BaseMapper 源码分析
java·开发语言·mybatis·mybatis plus
挖矿大亨4 小时前
c++中的函数模版
java·c++·算法
a程序小傲5 小时前
得物Java面试被问:RocketMQ的消息轨迹追踪实现
java·linux·spring·面试·职场和发展·rocketmq·java-rocketmq