[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 参考文献

原文地址:https://www.cnblogs.com/johnnyzen/p/13527718.html