环境变量分为系统环境变量和用户环境变量。
你所说的环境变量是指系统环境变量,对所有用户起作用
而用户环境变量只对当前用户起作用。
例如你要用java,那么你把java的bin目录加入到path变量下面,那么它就是系统环境变量,所用用户登陆,在命令行输入java都会有java的帮助信息出来。而如果你在某个用户的变量下面新建一个变量,那么它就只对这个用户有用,当你以其他用户登陆时这个变量就和不存在一样。
这个问题在linux下面就相对好理解一些,系统变量都在/etc/profile文件里面,而用户的变量则在~/.bash_profile(如果用的是bash的话),每个用户的用户目录对其他用户不可见。假设有a,b,c三个用户,你在a的变量文件中写入语句在屏幕上述出a,在b的输出b,c的什么都不输出,系统文件输出sys,那么当你用a用户登陆时,输出a;用户b登陆输出b,用户c则输出sys.
一个是给操作系统用的
一个是给本机用户用的~~
系统环境变量的意思是无论你是用那个用户帐号登陆后都能够共享的环境变量,就是有点公用的意味。
而用户环境变量顾名思义就是只有这个用户登陆后才能被这个用户使用的环境变量,就是有点私有的意味。
用户变量只对当前用户有效
系统变量对本机所有用户有效
用户变量可以引用系统变量,但系统变量肯定不能引用系统变量.你的做法就是在系统变量path中引用用户变量M2_HOME,所以不起作用。
其实你可以在用户变量里新建一个path变量,在把M2_HOME加到用户变量path[不是系统变量中的path哦]中去就行了.