温馨提示×

CentOS Java多版本共存方法

小樊
50
2025-09-01 16:48:47
栏目: 编程语言

CentOS实现Java多版本共存主要有以下两种方法:

方法一:使用update-alternatives工具(系统级管理)

  1. 安装多个Java版本
    通过yum安装不同版本的OpenJDK,例如:

    sudo yum install java-1.8.0-openjdk-devel # 安装Java 8 sudo yum install java-11-openjdk-devel # 安装Java 11 sudo yum install java-17-openjdk-devel # 安装Java 17 
  2. 配置版本切换
    使用update-alternatives注册各版本路径并设置优先级:

    sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1 sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2 sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk/bin/java 3 
  3. 切换默认版本
    执行以下命令选择默认版本(输入对应编号):

    sudo alternatives --config java 
  4. 验证版本
    通过java -version确认当前生效的Java版本。

方法二:通过环境变量和alias(用户级临时切换)

  1. 编辑配置文件
    ~/.bashrc~/.bash_profile中添加alias(以Java 8、11为例):

    alias java8='export JAVA_HOME=/usr/local/java/jdk1.8.0_202 && export PATH=$JAVA_HOME/bin:$PATH' alias java11='export JAVA_HOME=/usr/local/java/jdk-11.0.191 && export PATH=$JAVA_HOME/bin:$PATH' 
  2. 使配置生效
    执行source ~/.bashrc使alias生效。

  3. 临时切换版本
    在终端中直接输入java8java11即可临时切换版本。

辅助工具:SDKMAN(高级用户推荐)

  1. 安装SDKMAN

    curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" 
  2. 管理Java版本

    • 查看可用版本:sdk list java
    • 安装指定版本:sdk install java 17.0.2-open
    • 切换版本:sdk use java 17.0.2-open
    • 设置全局默认:sdk default java 17.0.2-open

以上方法可根据需求选择,update-alternatives适合系统级统一管理,环境变量/alias适合用户临时切换,SDKMAN则适合需要频繁切换版本的场景。

0