Ubuntu设置与切换Java版本
一 安装多个JDK版本
sudo apt updatesudo apt install openjdk-11-jdk openjdk-17-jdkjava -version 验证当前默认版本。二 使用系统工具 update-alternatives 切换
sudo update-alternatives --config javasudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1sudo update-alternatives --install /usr/lib/jvm/java-17-openjdk-amd64/bin/java 2sudo update-alternatives --config javacjava -version、javac -version。三 设置 JAVA_HOME 与环境变量
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64export PATH=$JAVA_HOME/bin:$PATHsource ~/.bashrc 或 source ~/.zshrcJAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"PATH="$JAVA_HOME/bin:$PATH"source /etc/environmentexport JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")。四 使用版本管理工具 jenv 或 SDKMAN
git clone https://github.com/jenv/jenv.git ~/.jenvecho 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc 与 echo 'eval "$(jenv init -)"' >> ~/.bashrc,然后 source ~/.bashrcjenv add /usr/lib/jvm/java-11-openjdk-amd64、jenv add /usr/lib/jvm/java-8-openjdk-amd64jenv global 11.0,jenv shell 8.0,或 jenv local 17.0(目录级)curl -s "https://get.sdkman.io" | bash,然后 source "$HOME/.sdkman/bin/sdkman-init.sh"sdk install java 11.0.11-open,sdk use java 8.0.292-open,sdk default java 11.0.11-open。五 常见问题与排查
update-alternatives 管理;必要时移除不需要的包(如 sudo apt-get remove openjdk-<version>),再重新配置默认版本。JAVA_HOME=...,然后 sudo systemctl restart tomcat)。~/.bashrc、~/.zshrc 或 /etc/environment 的语法与路径;执行 echo $JAVA_HOME 验证;必要时 source 重载或重新登录。