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的版本.

相关推荐
飞翔的佩奇3 分钟前
Java项目: 基于SpringBoot+mybatis+maven+mysql实现的图书管理系统(含源码+数据库+答辩PPT+毕业论文)
java·数据库·spring boot·mysql·spring·毕业设计·图书管理
〖是♂我〗37 分钟前
自定义数据集 使用scikit-learn中svm的包实现svm分类
开发语言·python
南玖yy1 小时前
C语言:整型提升
c语言·开发语言
iqay1 小时前
【C语言】填空题/程序填空题1
c语言·开发语言·数据结构·c++·算法·c#
lsx2024061 小时前
ECharts 样式设置
开发语言
某公司摸鱼前端2 小时前
本地部署DeepSeek教程(Mac版本)
macos·ai编程·ollama·deepseek·deepseek r1
jerry6092 小时前
注解(Annotation)
java·数据库·sql
Future_yzx2 小时前
Java Web的发展史与SpringMVC入门学习(SpringMVC框架入门案例)
java·前端·学习
沈韶珺2 小时前
Elixir语言的安全开发
开发语言·后端·golang
go54631584653 小时前
python 从知网的期刊导航页面抓取与农业科技相关的数据
开发语言·python·科技