百度云服务器 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、Gradle、Tomcat、Jenkins 等)使用" 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
相关推荐
悟道书生1 分钟前
第三方服务器访问视图
运维·服务器
牧瀬クリスだ2 分钟前
Ajax入门:从原生XHR到axios实战
java·spring boot·ajax·okhttp
zxanz13 分钟前
SSL 证书申请中,服务器验证跟 DNS 解析验证有什么区别?
服务器·网络协议·ssl
豆角焖肉17 分钟前
SpringBoot+JWT 实现前后端分离登录鉴权
java·开发语言·spring boot·jwt·前后端分离·登录认证
额额额对了21 分钟前
Linux 内核定时器与 DHT11
linux·运维·服务器
Wang's Blog25 分钟前
Java 项目部署之 Docker工具快速入门: 自定义镜像的分层结构与写时复制
java·开发语言·docker
KIDULT°9 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
别动我齐刘海10 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
code2cat11 小时前
Java进阶篇之AtomicLongFieldUpdater:把累计额度留在对象字段中
java·cas·并发编程
WeiXin_DZbishe11 小时前
基于springboot城市公交实时运营与调度系统-计算机毕设 附源码【课程设计】66173
java·vue.js·spring boot·后端·python·php·课程设计