1 文由
當我已經通過如下路徑設置了Maven的環境(maven-3.5.4)。
"我的電腦"->"屬性"->"高級"->"環境變量"->"系統變量"
MAVEN_HOME: D:\Program Files(x86)\Maven\apache-maven-3.5.4 [新建 系統變量MAVEN_HOME]
Path: %MAVEN_HOME%\bin [新增 系統變量Path的配置項]
但是,過了一段時間后,由於實際情況需要更換版本為(maven-3.6.3)。此時,需要更換MAVEN版本,並更新MAVEN的環境變量。
我按照上述過程更新了MAVEN_HOME的值:
MAVEN_HOME: D:\Program Files(x86)\Maven\apache-maven-3.6.3
此時,查看Maven版本:(為什么依舊是3.5.4?!?!?!?這就是寫本文的由頭了!!!)
E:\Projects\SpringBootSample>mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: D:\Program Files(x86)\Maven\apache-maven-3.5.4\bin\..
Java version: 1.8.0_111, vendor: Oracle Corporation, runtime: D:\Program Files(x86)\Java\jdk1.8.0_111\jre
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)\Maven\apache-maven-3.6.3
set Path=D:\Program Files(x86)\NetSaRang\Xftp 6\;D:\Program Files(x86)\NetSaRang\Xshell 6\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NGX;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Program Files(x86)\Java\jdk1.8.0_111\\bin;D:\Program Files(x86)\Java\jdk1.8.0_111\\jre\bin;D:\Program Files(x86)\Maven\apache-maven-3.6.3-self\bin;D:\Program Files(x86)\Python\3.8.5;D:\Program Files(x86)\Apache Tomcat\apache-tomcat-8.5.33\lib;D:\Program Files(x86)\Apache Tomcat\apache-tomcat-8.5.33\bin;D:\Program Files(x86)\Wechat;D:\Program Files(x86)\WXWechat\WXWork;D:\Program Files(x86)\Foxmail;D:\Program Files(x86)\QQ\Bin;D:\Program Files(x86)\HBuilderX\HBuilderX;D:\Program Files(x86)\Snipaste;D:\Program Files(x86)\Git\Git\cmd;D:\Program Files(x86)\TortoiseSVN\bin;C:\Users\Johnny\AppData\Local\Microsoft\WindowsApps;;D:\Program Files(x86)\Microsoft VS Code\Microsoft VS Code\bin


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