0x00 用途
Java版本切换工具,可以很方便的在java的多个版本之间切换。可以设置只在当前的终端中生效还是在全局都生效。
该项目与Linux版jenv使用方法大致相同。
项目地址:https://github.com/chroblert/JC-jEnv.git
0x01 原理:
通过reg,set,setx等命令修改或刷新JAVA_HOME,PATH,<alias>等环境变量以及注册表。
将添加的<alias>保存到用户环境变量JC_jEnv中
通过call来达到多重嵌套的效果
通过doskey来设置命令别名
0x02 效果:
jenv -h
jenv local java9
jenv version
jenv del java9
jenv add d:\11-java\jdk-9.0.4 java9
0x03 参数说明:
jenv [options]
options如下
version
显示当前设置的所有的java版本
local<alias>
设置java版本,只在当前shell下起作用
global<alias>
设置java版本,在全局下都起作用
add <目录><alias>
添加一个版本的java。
如:jenv add d:\java\jdk-9.0.4 java9
del<alias>
删除一个版本的java
如:jenv del java9
0x04 使用说明:
将该bat脚本添加到PATH系统环境变量中
这样使用的时候,可以直接输入jenvPATH中使用%JAVA_HOME%\bin
path环境变量中不能有具体的java路径,要使用%JAVA_HOME%\bin的方式,无论系统环境变量还是用户环境变量删除系统环境变量中的JAVA_HOME
因为生成path环境变量的时候,系统变量中的path>用户环境变量中的path。而要修改系统环境变量,需要管理员权限,所以该程序只修改了用户环境变量。
0x05 参考资料:
参考资料:windows系统一键配置修改环境变量
参考资料:Windows设置cmd别名
参考资料:setx设置永久环境变量
参考资料:刷新环境变量
参考资料:batch之变量延迟
参考资料:was unexpect at this time
参考资料:批处理变量多重嵌套
参考资料:环境变量中特殊字符()的问题
参考资料:setx1024个字符限制的解决方法
Author: JC0o0l,Jerrybird
GitHub: https://github.com/chroblert/JC-jEnv.git
WeChat: JC_SecNotes(Zer0ne安全研究)
来源:freebuf.com 2021-01-21 15:07:15 by: jerrybird
请登录后发表评论
注册