环境变量和⽤户变量有什么区别?
搭建编译环境时为什么有时候要设置环境变量,⽽有时⼜设置⽤户变量?
环境变量分为系统环境变量和⽤户环境变量。
你所说的环境变量是指系统环境变量,对所有⽤户起作⽤
⽽⽤户环境变量只对当前⽤户起作⽤。
例如你要⽤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.
补充:
在windows下⾯⽤到少设置环境变量的时候很少,例如你想只⽤jdk⽽不想⽤jbuilder,那么你就得⾃⼰设置jdk的path,classpath等环境变量。
在linux下,我说的的那些⽂件是系统⾃动⽣成的,我们可以⼿动更改他已达到我所说的效果。它们是在各⾃所属的⽤户登陆时⾃动运⾏的Windows下JAVA环境变量的设置祥解
Windows下JAVA⽤到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下⾯逐个分析。
环境变量path误删有影响吗JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够到bin、lib等⽬录。值得⼀提的是,JDK的安装路径可以选择任意磁盘⽬录,不过建议你放的⽬录层次浅⼀点,如果你放的⽬录很深,⽐如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下⾯的步骤和以后的应⽤你都要受累了,呵呵。设置⽅法:
JAVA_HOME=x:\JDK_1.4.2
PATH环境变量原来Windows⾥⾯就有,你只需修改⼀下,使他指向JDK的bin⽬录,这样你在控制台下⾯编译、执⾏程序时就不需要再键⼊⼀⼤串路径了。设置⽅法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明⽩%%引起来的内容是什么意思;其实这⾥是引⽤上⼀步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开⼀个控制台窗⼝,输⼊echo
%JAVA_HOME%来看⼀下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引⽤以前你设置的PATH环境变量,你照抄以前的值就⾏了。
CLASSPATH环境变量我放在最后⾯,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍⼩⼼才⾏。CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
⾸先要注意的是最前⾯的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查当前⽬录的CLASS⽂件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX⽤户很明⽩,WINDOWS⽤户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前⽬录的,再搜索系统⽬录的,再搜索PATH环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究⼀下LINUX。
为什么CLASSPATH后⾯指定了tools.jar这个具体⽂件?不指定⾏不⾏?显然不⾏,⾏的话我还能这么罗索嘛!:)
这个是由java语⾔的import机制和jar机制决定的,你可以查资料解决。
呵呵,具体的设定⽅法: win2k\xp⽤户右键点击我的电脑->属性->⾼级->环境变量,修改下⾯系统变量那个框⾥的值就⾏了。
win9x⽤户修改autoexec.bat⽂件,在其末尾加⼊:
set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
右键点我的电脑-属性-⾼级-环境变量-新建环境变量(有path的话可以直接双击,改变量值就可以了):变量名:path 变量值(路径):E:\java..(你安装java 的名字)\bin
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论