Giter Club home page Giter Club logo

jc-jenv's Introduction

JC-jEnv

Author: JC0o0l,Jerrybird

GitHub: https://github.com/chroblert/JC-jEnv.git

WeChat: JC_SecNotes(Zer0ne安全研究)

0x00 用途

Java版本切换工具,可以很方便的在java的多个版本之间切换。可以设置只在当前的终端中生效还是在全局都生效。

0x01 原理:

  • 通过reg,set,setx等命令修改或刷新JAVA_HOME,PATH,<alias>等环境变量以及注册表。

  • 将添加的<alias>保存到用户环境变量JC_jEnv中

  • 通过call来达到多重嵌套的效果

  • 通过doskey来设置命令别名

0x02 效果:

jenv -h

1611209361297.png

jenv local java9

1611210131816.png

jenv version

1611210177545.png

jenv del java9

1611210266710.png

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

1611210250119.png

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 使用说明:

  1. 将该bat脚本添加到PATH系统环境变量中

    这样使用的时候,可以直接输入jenv

  2. PATH中使用%JAVA_HOME%\bin

    path环境变量中不能有具体的java路径,要使用%JAVA_HOME%\bin的方式,无论系统环境变量还是用户环境变量

  3. 删除系统环境变量中的JAVA_HOME 因为生成path环境变量的时候,系统变量中的path>用户环境变量中的path。而要修改系统环境变量,需要管理员权限,所以该程序只修改了用户环境变量。

0x05 参考资料:

参考资料:windows系统一键配置修改环境变量

参考资料:Windows设置cmd别名

参考资料:setx设置永久环境变量

参考资料:刷新环境变量

参考资料:batch之变量延迟

参考资料:was unexpect at this time

参考资料:批处理变量多重嵌套

参考资料:环境变量中特殊字符()的问题

参考资料:setx1024个字符限制的解决方法

jc-jenv's People

Contributors

chroblert avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.