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

4 参考文献

[Windows/CMD]不重启设置/刷新环境变量的更多相关文章

  1. 为什么要设置Java环境变量(windows)

    在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问题是:有的学习者能够按照提示 ...

  2. windows下如何设置mysql环境变量

    方法一: windows下如何设置mysql环境变量 关键词: mysql, Setting Environment Variables, 环境变量设置 我的电脑->属性->高级-> ...

  3. windows上自动设置java环境变量的脚本

    近期打算学习安卓开发,于是乎要准备java开发环境,安装好jdk后,就要设置java环境变量,java环境变量要设置JAVA_HOME,Path,CLASSPATH三个值,每次配置查百度复制粘贴都很麻 ...

  4. 【转】windows上自动设置java环境变量的脚本

    转载:http://www.cnblogs.com/flowwind/p/4066146.html 近期打算学习安卓开发,于是乎要准备java开发环境,安装好jdk后,就要 设置java环境变量,ja ...

  5. 不重启使XP环境变量生效

    不重启使XP环境变量生效 http://www.pkghost.cn/wz/sort0185/8874.html 在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环 ...

  6. Windows下的Python安装与环境变量的配置

    Windows下的Python安装与环境变量的配置 第一步:python下载: Python安装包下载地址:http://www.python.org/ 第二步:python安装: 双击下载包,进入P ...

  7. windows命令行将应用程序加入环境变量

    1.命令行方法,最快(推荐): 1.1.获取应用安装绝对路径: 方法一:一层层点进去,然后复制路径栏目:方法二:打开软件执行文件所在目录,按住shift点击鼠标邮件,选择powerShell,现在wi ...

  8. 关于deepin-wine或wine设置PATH环境变量的方法

    前言 更改wine中PATH变量主要是为了能在 cmd输入一些命令而已,这里你可能会问怎么用cmd? deepin-wine cmd 这样就进入了cmd,而设置PATH 环境变量不能像windows一 ...

  9. nodejs设置NODE_ENV环境变量

    看下app.js文件中的一部分代码,如下: //开发环境错误处理 // will print stacktrace if (app.get('env') === 'development') { ap ...

  10. ubuntu12中设置PATH环境变量的几种方法(三种办法)

    如果在Ubuntu12系统中自行安装了一些软件,特别是使用tar.gz文件包安装的软件,通常会放在/usr/local或者/opt,甚至放在/home下,但是如果要调用或执行时,必须加上完整的路径才可 ...

随机推荐

  1. mybatis的sql操作

    1.Mapper接口创建 创建Mapper包,所有的Mapper接口放在该包下.Mapper接口中声明将要实现的方法,在接下来的Mapper.xml文件中实现对应方法. 2.Mapper.xml创建 ...

  2. C#基于数据库链接增删改查

    一.创建一个winfrom窗体 1.创建项目 2.创建一个链接数据的类 3.封装数据库的实体类(查询和增加) 在对数据操作时必须引用连个数据库using using System.Data; usin ...

  3. 30day_网络编程

    由于不同机器上的程序要通信,于是产生通信 C/S架构: Client与Server,客户端(只有用的时候再使用)与服务端(一直运行,等待服务) B/S架构: 浏览器端与服务器端 Browser浏览器, ...

  4. Linux 格式化 挂载 Gdisk

    对磁盘进行格式化mkfs 创建文件系统 xfs ext4/2/3 mkfs -b 设定数据区块(block)占用空间大小,目前支持1024.2048.4096 bytes每个块.默认4K mkfs - ...

  5. Ubuntu常用环境配置

    gcc sudo apt-get install build-essential update-alternatives 管理python环境 # 添加版本 # update-alternatives ...

  6. Javaheima12

    Java 不可变集合 如果某个数据不能修改,把它防御性地拷贝到不可变集合红是个很好的实践 或者当集合对象被不可信的库调用时,不可变形式是安全的 创建 再List,Set,Map接口中,都存在of方法, ...

  7. idea中新建java类

    project是项目,一个大目录,里面可以放多个module project里面存放: .idea文件(project相当于workplace) module(模块) out(编译生成的.class文 ...

  8. HTML笔记(二) HTML标签元素

    一 常用的头部元素标签 <head>元素包含了所有的头部标签元素. 1.<title> <title>标签定义了HTML文档的标题,在HTML/XHTML文档中是必 ...

  9. 微信小程序中注册页面设计

    .wxml <text>姓名</text> <input placeholder="请输入姓名" bindinput="getname&qu ...

  10. springboot整合flowable-初步入门

    最近工作中有用到工作流的开发,引入了flowable工作流框架,在此记录一下springboot整合flowable工作流框架的过程,以便后续再次使用到时可以做一些参考使用,如果项目中有涉及到流程审批 ...