Java多版本管理工具JEnv快速上手

JEnv简介

jenv是一个开源的 Java 环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本。

  • 核心功能‌:jenv允许用户安装、切换、删除和列出不同的Java版本,自动设置JAVA_HOME环境变量,确保环境变量在不同Java版本间切换时能正确更新。它支持全局、本地和会话级别的版本控制,用户可以根据需要在不同级别设置特定的Java版本。

  • 应用场景‌:jenv适用于多版本Java管理、工具链管理、开发环境标准化以及持续集成/持续部署等场景,可以提高开发效率,确保环境的一致性。

  • 系统支持‌:jenv支持Mac、Linux和Windows系统,提供了一个简洁的命令行界面,易于使用和管理。‌

开源项目地址

对于linux和mac系统:GitHub - jenv/jenv: Manage your Java environment

对于windows系统:GitHub - FelixSelter/JEnv-for-Windows: Change your current Java version with one line

Windows系统中的安装步骤

  1. 访问github项目托管地址:GitHub - FelixSelter/JEnv-for-Windows: Change your current Java version with one line

  2. 下载项目到本地并解压。

  3. 配置环境变量:将解压缩目录添加到系统环境变量。示例:

  4. 在系统环境变量PATH中增加%JEnv%配置,并保存。

  5. 执行 jenv 命令,确认安装成功。示例:

常用命令

# 添加一个Java环境变量
jenv add <name> <path>
示例:jenv add jdk11 "D:\Program Files\Java\jdk-11.0.1"

# 列出由jenv管理的全部Java版本
jenv list

# 设置全局Java版本
jenv change <name>
示例:jenv change jdk11

# 从jenv管理的Java版本列表中删除某个Java版本
jenv remove <name>
示例:jenv remove jdk11

# 为当前Shell会话设置Java版本。该命令只在当前打开的命令行窗口或终端会话中有效,关闭会话后设置将失效。
jenv use <name>
示例:jenv use jdk11

# 清除当前Shell会话中设置的Java版本信息
jenv use remove

# 为当前目录及其所有子目录设置Java版本。在该目录及其子目录下的任何Shell会话中,都会使用指定的Java版本,而无需在每个会话中单独设置。
jenv local <name>
示例:jenv local jdk11

# 清除当前目录及其所有子目录中设置的Java版本
jenv local remove

# 允许jenv使用java目录中的javac、javaw或其他可执行文件
jenv link <Executable name>
示例:jenv link javac

# 卸载jenv并自动还原选择的Java版本
jenv uninstall <name>
示例:jenv uninstall jdk11

# 自动搜索要添加的Java版本
jenv autoscan [--yes|-y] <path>
示例:jenv autoscan "D:\Program Files\Java"  扫描当前目录中可以添加的Java版本,不写路径参数时会扫描整个系统
     jenv autoscan -y "D:\Program Files\Java" 扫描并接受当前目录中可以添加的Java版本

工作原理

  1. JEnv.bat脚本会创建一个java.bat文件,该文件会调用具有正确版本的java.exe。
  2. 当通过powershell脚本命令更改Java版本相关的环境变量时,会将修改保存到临时文件(如下图的Home.tmp和path.tmp),并将相应变量信息传递给JEnv.bat。
  3. JEnv.bat会将接收到的环境变量配置信息通过PowerShell Script对环境变量信息进行设置应用,并在设置环境变量后,删除临时文件。

SystemEnvironmentVariablesHirachyShell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值