• [Windows/CMD]不重启设置/刷新环境变量


    1 文由

    当我已经通过如下路径设置了Maven的环境(maven-3.5.4)。

    "我的电脑"->"属性"->"高级"->"环境变量"->"系统变量"
          MAVEN_HOME: D:Program Files(x86)Mavenapache-maven-3.5.4 [新建 系统变量MAVEN_HOME]
          Path: %MAVEN_HOME%in [新增 系统变量Path的配置项]
    

    但是,过了一段时间后,由于实际情况需要更换版本为(maven-3.6.3)。此时,需要更换MAVEN版本,并更新MAVEN的环境变量。
    我按照上述过程更新了MAVEN_HOME的值:

     MAVEN_HOME: D:Program Files(x86)Mavenapache-maven-3.6.3
    

    此时,查看Maven版本:(为什么依旧是3.5.4?!?!?!?这就是写本文的由头了!!!)

    E:ProjectsSpringBootSample>mvn -v
    Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
    Maven home: D:Program Files(x86)Mavenapache-maven-3.5.4in..
    Java version: 1.8.0_111, vendor: Oracle Corporation, runtime: D:Program Files(x86)Javajdk1.8.0_111jre
    Default locale: zh_CN, platform encoding: GBK
    OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
    

    查看环境变量Path (依旧是3.5.4!!!)

    echo %Path%
    

    即 环境变量没有及时刷新/更新成功,导致使用了之前设置的旧的环境变量值

    2 刷新环境变量的解决方法

    方法2: 重启电脑刷新(永久性更新)
    方法1: 命令行刷新(临时性更新)
    此法,不用担心DOS窗口中的修改会影响环境变量的值,DOS窗口中的环境变量只是Windows环境变量的一个副本而已。
    但是对副本的修改却会引发Windows环境变量的刷新,这正是咱们想要的!
    
    • step1 拷贝原系统环境变量(MAVEN_HOME/Path)的所有值
    echo %MAVEN_HOME%
    
    echo %Path%
    (拷贝输出的所有内容)
    
    • step2 查找/更换: 在Path的拷贝内容中找到并更换Maven的部分
    • step3 命令行执行
    set MAVEN_HOME=D:Program Files(x86)Mavenapache-maven-3.6.3
    
    set Path=D:Program Files(x86)NetSaRangXftp 6;D:Program Files(x86)NetSaRangXshell 6;C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:WindowsSystem32OpenSSH;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program FilesNVIDIA CorporationNVIDIA NGX;C:Program FilesNVIDIA CorporationNVIDIA NvDLISR;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;D:Program Files(x86)Javajdk1.8.0_111\bin;D:Program Files(x86)Javajdk1.8.0_111\jrein;D:Program Files(x86)Mavenapache-maven-3.6.3-selfin;D:Program Files(x86)Python3.8.5;D:Program Files(x86)Apache Tomcatapache-tomcat-8.5.33lib;D:Program Files(x86)Apache Tomcatapache-tomcat-8.5.33in;D:Program Files(x86)Wechat;D:Program Files(x86)WXWechatWXWork;D:Program Files(x86)Foxmail;D:Program Files(x86)QQBin;D:Program Files(x86)HBuilderXHBuilderX;D:Program Files(x86)Snipaste;D:Program Files(x86)GitGitcmd;D:Program Files(x86)TortoiseSVNin;C:UsersJohnnyAppDataLocalMicrosoftWindowsApps;;D:Program Files(x86)Microsoft VS CodeMicrosoft VS Codein
    

    3 git-bash与Windows Shell

    • Window端的Git-Bash在修改完环境变量,甚至重启电脑,依旧很难及时同步最新的环境变量。
    1 这导致,git-bash中的maven版本很可能与Window Shell(CMD)的版本不一致的BUG现象。
    2 临时解决Git-Bash的方法:
    + 重新打开 Git-Bash
    + Git-Bash中 set/export Path/MAVEN_HOME
    

    4 参考文献

  • 相关阅读:
    Learning Spark中文版--第三章--RDD编程(1)
    关于learning Spark中文版翻译
    dom4j 常用操作
    Invalid bound statement (not found)
    touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied
    docker 运行tomcat 并部署 java web项目
    docker build no such file or directory
    Docker 笔记
    java 自动拆箱 自动装箱
    Ubuntu18 中文乱码 问题 解决
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/13527718.html
Copyright © 2020-2023  润新知