Ubuntu Java版本管理方法
在Ubuntu系统中,管理多个Java版本(如OpenJDK 8、11、17等)可通过以下几种常用工具实现,覆盖从系统自带到第三方管理的不同需求:
update-alternatives
(推荐基础用户)update-alternatives
是Ubuntu系统集成的版本管理工具,无需额外安装,适合快速切换系统默认Java版本。
sudo apt update
sudo apt install openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk
sudo update-alternatives --config java
sudo update-alternatives --config javac # 同步切换javac编译器版本
java -version
和javac -version
,确认输出的版本符合预期。jenv
(适合多版本精细化切换)jenv
是一个轻量级Java版本管理工具,支持全局/局部(项目级)切换,以及版本隔离。
git clone https://github.com/jenv/jenv.git ~/.jenv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(jenv init -)"' >> ~/.bashrc
source ~/.bashrc
jenv add /usr/lib/jvm/java-8-openjdk-amd64
jenv add /usr/lib/jvm/java-11-openjdk-amd64
jenv global 1.8
(或11.0
,对应版本号前缀)jenv local 17.0
(会在目录生成.java-version
文件)jenv versions
查看所有可用版本(*
表示当前生效版本),java -version
确认当前使用的版本。SDKMAN!
是专为开发设计的工具,支持Java、Maven、Gradle等多个SDK的管理,功能强大且易用。
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java
sdk install java 11.0.24-open # OpenJDK 11
sdk install java 17.0.11-oracle # Oracle JDK 17(需注册Oracle账号)
sdk use java 8.0.422-open
sdk default java 11.0.24-open
sdk uninstall java 17.0.11-oracle
(可选)apt
安装的OpenJDK版本安全稳定,建议作为基础版本;若需Oracle JDK,可通过SDKMAN!或手动下载安装包部署。JAVA_HOME
(如部分IDE要求),需确保其指向当前使用的Java版本路径(可通过jenv prefix
或update-alternatives --display java
查看)。pom.xml
或build.gradle
中指定Java版本,配合工具实现构建时的版本自动切换。