WindowsJava环境管理工具 – 作者:jerrybird

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

image

jenv local java9

image

jenv version

image

jenv del java9

image

jenv add d:\11-java\jdk-9.0.4 java9

image

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系统环境变量中
这样使用的时候,可以直接输入jenv

PATH中使用%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

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论