温馨提示×

centos怎么升级java版本

小樊
56
2026-08-03 04:20:22
栏目: 编程语言

CentOS 上升级 Java 版本,常见有几种方式,下面按推荐程度给你说明,并附完整示例。


一、查看当前 Java 版本

java -version

二、方式一(✅ 推荐):使用 yum / dnf 安装(CentOS 7/8/Stream)

1️⃣ 查看可用的 Java 版本

yum search java | grep openjdk

常见版本:

  • java-1.8.0-openjdk
  • java-11-openjdk
  • java-17-openjdk
  • java-21-openjdk

2️⃣ 安装新版本(例如 Java 17)

sudo yum install -y java-17-openjdk java-17-openjdk-devel

如果是 CentOS 8 / Stream,用 dnf

sudo dnf install -y java-17-openjdk java-17-openjdk-devel

3️⃣ 切换默认 Java 版本(多版本共存时)

sudo alternatives --config java

输出示例:

1 /usr/lib/jvm/java-1.8.0-openjdk/bin/java
2 /usr/lib/jvm/java-17-openjdk/bin/java

输入编号并回车即可。

同样设置 javac

sudo alternatives --config javac

4️⃣ 验证

java -version
javac -version

三、方式二:手动安装(适合指定版本 / 生产环境)

1️⃣ 下载 JDK

Oracle JDK 17 为例:

wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

2️⃣ 解压并移动到标准目录

tar -zxvf jdk-17_linux-x64_bin.tar.gz
sudo mv jdk-17 /usr/local/

3️⃣ 配置环境变量

编辑:

sudo vi /etc/profile

追加:

export JAVA_HOME=/usr/local/jdk-17
export PATH=$JAVA_HOME/bin:$PATH

生效:

source /etc/profile

4️⃣ 验证

java -version

四、方式三:使用 SDKMAN(开发环境推荐)

适合开发机,不适合服务器生产环境。

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java
sdk install java 17.0.9-tem

五、常见问题

❓ 升级后 java -version 没变?

  • 没切换 alternatives
  • 环境变量被旧 JAVA_HOME 覆盖
  • 检查:
which java
echo $JAVA_HOME

❓ CentOS 7 没有 Java 17?

启用 EPEL 或使用手动安装:

yum install -y epel-release

六、推荐方案总结

场景 推荐方式
生产服务器 yum / dnf
指定版本 手动安装
开发环境 SDKMAN

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 当前 Java 版本
  • ✅ 是否服务器环境

我可以给你精确到命令级别的方案。

0