news 2026/6/25 16:00:31

jenv:管理多个 Java 版本的命令行工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jenv:管理多个 Java 版本的命令行工具

文章目录

  • jenv:管理多个 Java 版本的命令行工具

jenv:管理多个 Java 版本的命令行工具

jenv 是一个 Java 环境管理工具,从 rbenv 演化而来,在 GitHub 上有 6,620 个 Star。

做 Android 开发的人经常会遇到这样的问题:构建工具要求 Java 8,但服务端项目用的是 Java 11 或更高版本。每次切换项目都要手动改 JAVA_HOME,路径写错一个字符就可能编译失败。jenv 就是来解决这个问题的。

jenv 本身不负责安装 Java,它只管版本切换和环境变量配置。你需要先用系统包管理器把 Java 装好,再通过jenv add把路径注册进去。

版本切换的三种模式

jenv 支持三个层级的版本设置:

  • global:全局默认版本,优先级最低
  • local:目录级别,会在当前目录生成.java-version文件,进入该目录自动生效
  • shell:仅在当前终端会话中生效,优先级最高

多个层级同时存在时,高优先级覆盖低优先级。比如 global 设的是 17,shell 设的是 11,最终用的就是 11。

安装和配置

macOS 用户用 Homebrew 装就行:

brew install jenv

Linux 用户也可以从源码安装,克隆仓库到~/.jenv目录即可。

装完后在 shell 配置文件里加一行初始化命令:

# bash echo 'eval "$(jenv init -)"' >> ~/.bash_profile # zsh echo 'eval "$(jenv init -)"' >> ~/.zshrc

重启终端后生效。Fish shell 也有支持,不过官方标注为未充分测试。

接下来把已安装的 Java 注册进去:

jenv add "$(/usr/libexec/java_home)"

jenv versions查看已注册的版本列表。切换版本用jenv globaljenv localjenv shell,加--unset可以取消设置。

安装完成后可以用jenv doctor检查状态,它会告诉你 jenv 是否正确加载、JAVA_HOME 是否设置、Java 二进制是否在 shim 路径中。如果哪里有问题,输出会直接标红提示。

插件系统

要让 jenv 自动设置 JAVA_HOME,需要启用 export 插件:

jenv enable-plugin export

除此之外,jenv 还内置了 gradle、maven、ant、lein、sbt 等插件。启用后,运行对应构建工具时会自动注入 JVM 参数。比如启用 gradle 插件后,GRADLE_OPTS会被自动设置,你不用再手动配置。

典型使用场景

假设你同时维护一个 Android 项目和一个 Spring Boot 服务。Android 项目需要 Java 8,Spring Boot 用 Java 21。你可以在 Android 项目根目录执行jenv local 1.8,在 Spring Boot 项目根目录执行jenv local 21。之后进入各自目录时,jenv 会自动切换版本,JAVA_HOME 也会跟着变。

jenv 适合需要在多个 Java 版本之间频繁切换的开发者。Android 开发是典型场景,构建工具对 Java 版本敏感,经常需要固定到某个特定版本。服务端开发如果同时维护多个项目,每个项目用不同的 JDK,jenv 也能省不少事。

具对 Java 版本敏感,经常需要固定到某个特定版本。服务端开发如果同时维护多个项目,每个项目用不同的 JDK,jenv 也能省不少事。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 15:58:19

时序数据库选型避坑指南——从写入到查询的完整方法论

十五年数据库相关经验,做过 DBA、架构师、技术顾问。喜欢把枯燥的技术文档变成"手把手教程",不求"颠覆",只求"靠谱"。不讲空话,只讲怎么连、怎么写、怎么优化。很多同学问时序数据库到底该怎么选&a…

作者头像 李华
网站建设 2026/6/25 15:54:49

3步实现GitHub Desktop高效汉化:免费实用工具快速上手

3步实现GitHub Desktop高效汉化:免费实用工具快速上手 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub Desktop…

作者头像 李华
网站建设 2026/6/25 15:54:25

2026年下半年新手学量化,回测到模拟中间别跳步

没有基础时学量化,最需要的不是把所有内容同时塞进脑子,而是找到一个自然顺序。概念、代码、回测和模拟并不是四个孤立模块,它们更像一条逐步加深的路径,每一步都在为下一步减少模糊。代码要回到规则本身第一阶段应先把想做的规则…

作者头像 李华
网站建设 2026/6/25 15:51:07

Tabler:4 万多 Star 的开源后台模板,免费用

文章目录Tabler:4 万多 Star 的开源后台模板,免费用这东西到底是什么为什么能拿到 4 万 Star解决了真实需求质量过硬完全免费实际用起来怎么样什么人适合用总结Tabler:4 万多 Star 的开源后台模板,免费用 写前端的人应该都有过这…

作者头像 李华