jenv 一款macos下的开源JAVA多版本环境安装管理切换工具

一个用于macos/linux下的多版本JAVA环境管理工具 -- jenv, 这款工具和 pyenv 类似,都是基于shell脚本开发的. 可以方便的管理 多个java环境版本.

jenv安装

bash 复制代码
git clone https://gitee.com/tekintian/jenv.git ~/.jenv

jenv环境配置

将下面的代码加入都你的 ~/.bash_profile文件中即可

bash 复制代码
###### java env
# jenv安装: git clone https://gitee.com/tekintian/jenv.git ~/.jenv
export JENV_ROOT="$HOME/.jenv"
# 如果目录中存在bin文件夹,则将PATH增加到当前$PATH 和初始化jenv
if [[ -d $JENV_ROOT/bin ]]; then
  export PATH="$JENV_ROOT/bin:$PATH"
  eval "$(jenv init -)"
fi

jenv可用命令列表

Some useful jenv commands are:

commands List all available jenv commands

local Set or show the local application-specific Java version

global Set or show the global Java version

shell Set or show the shell-specific Java version

rehash Rehash jenv shims (run this after installing executables)

version Show the current Java version and its origin

versions List all Java versions available to jenv

which Display the full path to an executable

whence List all Java versions that contain the given executable

add Add JDK into jenv. A alias name will be generated by parsing "java -version"

remove Remove JDK installations

See `jenv help <command>' for information on a specific command.

将java增加到jenv进行管理

jenv add 你的java的home路径

macos系统中,如果我们使用的是pkg安装包安装的java环境,则默认的安装路径应该都在这个文件夹下 /Library/Java/JavaVirtualMachines/

如 将liberica-jdk-8-full.jdk这个jdk增加到jenv中,使用以下命令:

bash 复制代码
jenv add /Library/Java/JavaVirtualMachines/liberica-jdk-8-full.jdk/Contents/Home

注意这里的路径是你的JDK的home文件夹所在的路径, 需要根据你的JDK实际情况修改

增加后是这样

添加到jenv后就可以使用jenv global local 等命令来设置全局或者本地的jdk环境变量了.

jenv目录结构 和JAVA_HOME路径

后面你在使用的时候就可以直接使用 ~/.jenv/versions/1.8 来作为你的JDK 1.8的JAVA_HOME路径, jevn会自动帮你处理小版本的引用问题, 其他版本类似.

设置全局/本地默认JDK版本:

全局JDK版本1.8: jenv global 1.8

当前jdk版本21: jenv local 21

这个需要先通过add增加才可以, 如jenv add /Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home

在其他软件或者IDE中引用JDK21的JAVA_HOME就可以是 ~/.jenv/versions/21

JDK发行版本推荐

阿里发行的JDK版本https://dragonwell-jdk.io

国外的 https://bell-sw.com/pages/downloads

https://openjdk.org

更多你自己去发现把....

总结: jenv 通过将我们本地安装的jdk版本做统一的管理,这给我们在多版本JDK的切换和引用都带来了极大的方便. 和 pyenv不同的是这里的jdk版本是需要你自己提前安装的,因为这个JDK的版本发行商太多,太杂. 这个工具就是版你管理各种发行商提供的JDK的版本.

相关推荐
AaronCos9 小时前
弄懂java泛型中的extends和super
java·开发语言
用户239526180109 小时前
别再 new 满天飞了!一文搞懂工厂模式,程序员终于不用手搓对象了 😆
java
毋语天9 小时前
Python 模块、包与异常处理:构建更稳健的程序
开发语言·python
阿丰资源9 小时前
基于SpringBoot的企业客户管理系统(附源码)
java·spring boot·后端
IT观察者9 小时前
Qt单例的优雅实现
开发语言·qt
两年半的个人练习生^_^9 小时前
SpringBoot 项目使用 Jasypt 实现配置文件敏感信息加密
java·spring boot·后端
H_unique9 小时前
LangChain:消息
开发语言·langchain
求知也求真佳9 小时前
S07---S11 | 系统加固闭环总结:让你的 AI Agent 从 “能跑” 到 “稳跑、安全跑、长期跑”
开发语言·agent
JAVA学习通9 小时前
开云集致 Java开发 实习 一面
java·开发语言
小陈工10 小时前
Python异步编程进阶:asyncio高级模式与性能调优
开发语言·前端·数据库·人工智能·python·flask·numpy