Ubuntu多版本JDK管理
2026/4/13大约 1 分钟
工具一:SDKMAN
注意,它的
sdk current只能查看由它安装的sdk。
若需把之前安装的加入管理,可以使用
sdk install java my-local-17 /home/user/my-jdk17安装SDKMAN
注意安装后需要打开新的终端才生效
curl -s "https://get.sdkman.io" | bash查看可用版本
sdk list java安装
sdk install java 21-tem切换,仅当前终端生效
sdk use java 17-tem设置默认 JDK 版本
sdk default java 21-temSDKMAN与项目环境集成
方式1:环境文件
在项目根目录执行sdk env init,SDKMAN会检测当前终端正在使用的SDK版本,并自动生成一个.sdkmanrc文件,将其写入.sdkmanrc。
后续每次进入这个目录,执行sdk env就会自动切换到该项目指定的Java版本。
方式2:VS Code / IntelliJ
在 VS Code 的settings.json中配置 java.configuration.runtimes,把SDKMAN安装的所有JDK 路径(通常在 ~/.sdkman/candidates/java/)都填进去。
这样切换项目时,IDE会自动匹配对应的JDK。
工具二:update-alternatives
Ubuntu 自带了update-alternatives命令,这是Debian系Linux切换默认软件的标准方式。
执行该命令后,系统会列出所有已登记的 Java 版本,输入序号即可切换。
sudo update-alternatives --config java工具三:别名配置
# 默认用最新的
export JAVA_HOME=$HOME/.sdkman/candidates/java/current
# 给其它JDK设置别名
alias java8='/usr/lib/jvm/java-8-openjdk-amd64/bin/java'运行JAR包只需java8 -jar app.jar,无需来回切换版本。
更新日志
2026/4/13 11:33
查看所有更新日志
bff32-于
