温馨提示×

如何在CentOS上配置Java版本

小樊
79
2025-08-30 16:52:04
栏目: 编程语言

一、前置准备:更新系统包

在配置Java前,建议先更新CentOS系统包以确保兼容性:

sudo yum update -y  # CentOS 7/8
# 或(CentOS 9及以上使用dnf)
sudo dnf update -y

二、安装Java版本

1. 通过YUM仓库安装(推荐,自动处理依赖)

CentOS默认仓库提供OpenJDK版本,可根据需求选择安装:

  • 安装OpenJDK 8(传统稳定版):
    sudo yum install -y java-1.8.0-openjdk-devel
    
  • 安装OpenJDK 11(长期支持版,适用于大多数项目):
    sudo yum install -y java-11-openjdk-devel
    
  • 安装OpenJDK 17(最新LTS版,适用于新项目):
    sudo yum install -y java-17-openjdk-devel
    

若默认仓库无所需版本,可启用EPEL仓库(CentOS 7)或添加AdoptOpenJDK仓库(第三方):

# 启用EPEL仓库(CentOS 7)
sudo yum install -y epel-release

# 添加AdoptOpenJDK仓库(CentOS 7)
wget https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/x86_64/AdoptOpenJDK.repo
sudo mv AdoptOpenJDK.repo /etc/yum.repos.d/
sudo yum update -y
sudo yum install -y adoptopenjdk-17-hotspot  # 安装AdoptOpenJDK 17

2. 手动安装(适用于特定版本)

若需安装非仓库版本(如Oracle JDK),可手动下载tar.gz包并解压:

  • 下载JDK:从Oracle官网或OpenJDK官网下载对应版本的tar.gz包(如jdk-17.0.5_linux-x64_bin.tar.gz)。
  • 解压并移动
    tar -xvf jdk-17.0.5_linux-x64_bin.tar.gz
    sudo mv jdk-17.0.5 /usr/local/  # 移动到/usr/local目录
    
  • 创建符号链接(方便管理):
    sudo ln -s /usr/local/jdk-17.0.5 /usr/local/java
    

三、配置默认Java版本(多版本场景)

若系统安装了多个Java版本,可使用alternatives命令切换默认版本:

  • 注册Java版本
    sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1  # OpenJDK 8
    sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2    # OpenJDK 11
    sudo alternatives --install /usr/bin/java java /usr/local/java/bin/java 3                # 手动安装的JDK 17
    
  • 切换默认版本
    运行以下命令,根据提示输入对应编号选择版本:
    sudo alternatives --config java
    

四、设置JAVA_HOME环境变量

JAVA_HOME是Java应用(如Maven、Tomcat)识别JDK路径的关键变量,需永久配置:

  • 查找Java安装路径
    通过alternatives命令获取Java可执行文件的路径,去掉末尾的/bin/java即为JAVA_HOME
    sudo alternatives --config java
    # 输出示例:/usr/lib/jvm/java-11-openjdk/bin/java → JAVA_HOME=/usr/lib/jvm/java-11-openjdk
    
  • 编辑配置文件
    根据使用的Shell(bash/zsh)编辑对应文件(如~/.bashrc~/.bash_profile~/.zshrc):
    vim ~/.bashrc
    
    在文件末尾添加以下内容(替换为实际路径):
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk  # 替换为你的JAVA_HOME路径
    export PATH=$JAVA_HOME/bin:$PATH               # 将Java bin目录加入PATH
    
  • 使配置生效
    source ~/.bashrc  # 或 source ~/.bash_profile / source ~/.zshrc
    
  • 验证环境变量
    echo $JAVA_HOME  # 应输出JAVA_HOME路径
    

五、验证Java配置

  • 检查Java版本
    java -version
    # 输出示例:openjdk version "11.0.15" 2022-04-19 LTS
    
  • 检查javac版本(确认编译器可用):
    javac -version
    # 输出示例:javac 11.0.15
    

六、常见问题解决

  • 环境变量不生效:确保修改的是正确的Shell配置文件(如bash用户用~/.bashrc),并执行source命令刷新。
  • 切换版本失败:通过alternatives --config java重新选择版本,或检查JAVA_HOME路径是否正确。
  • 手动安装路径错误:确保解压后的JDK目录结构完整(包含binlib等子目录),且JAVA_HOME指向根目录(如/usr/local/jdk-17.0.5)。

0