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

相关推荐
覆东流12 小时前
Java开发环境搭建
java·开发语言·后端
阿洛学长12 小时前
VMware安装虚拟机教程(超详细)
java·linux·开发语言
rit843249912 小时前
链路预测(Link Prediction)MATLAB 实现
开发语言·matlab
jiayong2312 小时前
01 检查 Python 版本与环境
开发语言·python
coder Ethan12 小时前
Spring AI 入门:(3)快速搭建一个简单的问答助手
java·人工智能·spring
屋外雨大,惊蛰出没12 小时前
starter的创建与引用
java·stater
小同志0012 小时前
Spring Boot ⽇志概述(简单了解)
java·java-ee·日志
小马爱打代码12 小时前
SpringBoot + 延迟消息 + 时间轮:订单超时、优惠券过期等场景的高效实现方案
java·spring boot·后端
就叫_这个吧12 小时前
Java普通类、抽象类、接口的应用和区别
java·开发语言
梅孔立12 小时前
解决Nginx缓存不写入响应体问题:浏览器强制不缓存配置教程
java·开发语言·nginx·spring