CentOS Java编译版本管理方法
在管理Java编译版本前,需先安装所需版本。CentOS可通过yum(官方仓库)或手动下载安装:
sudo yum install java-1.8.0-openjdk-devel -y # 安装OpenJDK 8(含javac编译器)
sudo yum install java-11-openjdk-devel -y # 安装OpenJDK 11
sudo yum install java-17-openjdk-devel -y # 安装OpenJDK 17(可选)
jdk-11.0.20_linux-x64_bin.tar.gz);/usr/lib/jvm/目录:sudo tar -zxvf jdk-11.0.20_linux-x64_bin.tar.gz -C /usr/lib/jvm/
update-alternatives是CentOS自带的版本管理工具,可配置多版本Java的默认切换:
java和javac命令添加到alternatives,指定优先级(数字越大优先级越高):sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1000
sudo alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-1.8.0-openjdk/bin/javac 1000
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2000
sudo alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-11-openjdk/bin/javac 2000
sudo alternatives --config java
sudo alternatives --config javac
输入对应版本的编号(如1代表OpenJDK 8,2代表OpenJDK 11)并按回车。SDKMAN是专门用于管理Java及开发工具版本的第三方工具,支持自动切换和环境隔离:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java
sdk install java 17.0.2-open # 安装OpenJDK 17
sdk install java 11.0.20-open # 安装OpenJDK 11
sdk default java 17.0.2-open
sdk use java 11.0.20-open
若需自定义Java路径或覆盖默认设置,可修改环境变量:
~/.bashrc或/etc/profile):export JAVA_HOME=/usr/lib/jvm/java-11-openjdk # 指向所需Java版本的目录
export PATH=$JAVA_HOME/bin:$PATH # 将Java bin目录加入PATH
source ~/.bashrc # 或 source /etc/profile
切换后,通过以下命令确认当前Java编译版本:
java -version # 查看默认Java运行时版本
javac -version # 查看默认Java编译器版本
输出应显示当前使用的Java版本(如openjdk version "11.0.20")。
update-alternatives的优先级数字越大,越易成为默认版本;JAVA_HOME与当前使用的Java版本路径一致,避免编译/运行时版本冲突;File -> Project Structure -> Project SDK)。