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

相关推荐
倔强的石头1062 分钟前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
传人once4 分钟前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
NeilYuen7 分钟前
【C++】STL源码仿写(二):vector
开发语言·c++
Shaoshing19 分钟前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼33 分钟前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵41 分钟前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai
蜗牛互联网1 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
wanderist.1 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
weixin_307779131 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
ttwuai1 小时前
Go后台管理系统开源项目:4个官方仓库怎么追溯和核验
开发语言·golang·开源