当前位置: 代码网 > it编程>编程语言>Java > Ubuntu配置多版本Java并自由切换两种方式实现

Ubuntu配置多版本Java并自由切换两种方式实现

2026年08月09日 Java 我要评论
在 ubuntu 22.04 上安装 openjdk 并实现 在不同项目中灵活切换 java 版本,可以使用update-alternatives+ 环境变量管理两种方式实现方法一:使用update-

在 ubuntu 22.04 上安装 openjdk 并实现 在不同项目中灵活切换 java 版本,可以使用 update-alternatives + 环境变量管理两种方式实现

方法一:使用 update-alternatives(系统级切换,简单可靠)

1:安装多个 openjdk 版本

ubuntu 官方仓库支持多个 openjdk 版本(如 8、11、17、21):

# 更新包列表
sudo apt update

# 安装你需要的 jdk 版本(例如 11 和 17)
sudo apt install openjdk-11-jdk openjdk-17-jdk openjdk-21-jdk

2:配置 update-alternatives

系统会自动为每个 jdk 注册 javajavac 等命令,但我们可以手动确认或添加:

如果未自动注册,可手动添加(以 jdk 17 为例):

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1700
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1700

3:交互式切换版本

# 切换 java 命令
sudo update-alternatives --config java

# 切换 javac 命令
sudo update-alternatives --config javac

然后选择对应编号即可。

方法二:使用 jenv(项目级自动切换,推荐开发者使用)

jenv 是一个类似 rbenv/pyenv 的 java 版本管理工具,可以为每个项目目录自动切换 jdk 版本

1:安装 jenv

# 安装依赖
sudo apt install git curl

# 克隆 jenv 到本地
git clone https://github.com/jenv/jenv.git ~/.jenv

2:配置 shell(以 bash 为例)

编辑 ~/.bashrc(如果你用 zsh,则编辑 ~/.zshrc):

echo 'export path="$home/.jenv/bin:$path"' >> ~/.bashrc
echo 'eval "$(jenv init -)"' >> ~/.bashrc
source ~/.bashrc

⚠️ 注意:eval "$(jenv init -)" 必须在 path 设置之后。

3:让 jenv 识别已安装的 jdk

# 自动检测系统 jdk(包括 /usr/lib/jvm 下的 openjdk)
jenv enable-plugin export
jenv enable-plugin maven
jenv add /usr/lib/jvm/java-11-openjdk-amd64
jenv add /usr/lib/jvm/java-17-openjdk-amd64
jenv add /usr/lib/jvm/java-21-openjdk-amd64

如果提示权限问题,确保这些目录可读。

查看已注册版本:

jenv versions

输出示例:

* system (set by /home/ball/.jenv/version)
  11.0
  11.0.21
  17.0
  17.0.9
  21.0
  21.0.1

4:为项目设置 java 版本

进入你的项目目录,运行:

cd ~/my-java-project
jenv local 17.0    # 会在当前目录生成 .java-version 文件

以后只要进入该目录,java -version 就会自动使用 jdk 17!

验证:

cd ~/my-java-project
java -version   # 应显示 17
cd ~
java -version   # 回到全局默认(或 system)

总结

到此这篇关于ubuntu配置多版本java并自由切换两种方式实现的文章就介绍到这了,更多相关ubuntu配置多版本java自由切换内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com