最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Ubuntu Java如何进行版本管理
时间:2026-08-03 10:47:55 编辑:袖梨 来源:一聚教程网
Ubuntu Java版本管理方法

在Ubuntu系统中,管理多个Java版本(如OpenJDK 8、11、17等)可通过以下几种常用工具实现,覆盖从系统自带到第三方管理的不同需求:
1. 使用系统自带工具update-alternatives(推荐基础用户)
update-alternatives是Ubuntu系统集成的版本管理工具,无需额外安装,适合快速切换系统默认Java版本。
- 安装多个Java版本:通过APT包管理器安装所需版本(以OpenJDK为例):
sudo apt updatesudo apt install openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk - 配置默认版本:运行以下命令进入交互式选择界面,输入对应编号切换全局默认版本:
sudo update-alternatives --config javasudo update-alternatives --config javac# 同步切换javac编译器版本 - 验证结果:执行
java -version和javac -version,确认输出的版本符合预期。
2. 使用第三方工具jenv(适合多版本精细化切换)
jenv是一个轻量级Java版本管理工具,支持全局/局部(项目级)切换,以及版本隔离。
- 安装jenv:
git clone https://github.com/jenv/jenv.git ~/.jenvecho 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrcecho 'eval "$(jenv init -)"' >> ~/.bashrcsource ~/.bashrc - 添加Java版本:将系统已安装的JDK添加到jenv管理:
jenv add /usr/lib/jvm/java-8-openjdk-amd64jenv add /usr/lib/jvm/java-11-openjdk-amd64 - 切换版本:
- 全局切换(所有终端生效):
jenv global 1.8(或11.0,对应版本号前缀) - 局部切换(当前目录及子目录生效):
jenv local 17.0(会在目录生成.java-version文件)
- 全局切换(所有终端生效):
- 验证结果:执行
jenv versions查看所有可用版本(*表示当前生效版本),java -version确认当前使用的版本。
3. 使用SDKMAN!(适合全栈开发工具管理)
SDKMAN!是专为开发设计的工具,支持Java、Maven、Gradle等多个SDK的管理,功能强大且易用。
- 安装SDKMAN!:
curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh" - 查看可用Java版本:
sdk list java - 安装指定版本:
sdk install java 11.0.24-open# OpenJDK 11sdk 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查看)。 - 项目级隔离:对于Maven/Gradle项目,可在
pom.xml或build.gradle中指定Java版本,配合工具实现构建时的版本自动切换。
相关文章
- Claude Code到底有多费token?对比实验来了:三大框架最多差30倍 08-03
- 别建“全公司AI知识库”了:公司真正需要蒸馏的是最强员工的认知 08-03
- 什么是Physical AI?智能机器时代已来临 08-03
- 吴恩达最新开源 AI 同事,在 Github 爆火了! 08-03
- 神经网络如何记忆和回忆?一篇 Nature 给的新启发 08-03
- AI 真的太贵了 08-03