环境变量和用户变量有什么区别?
搭建編譯環境時為什么有時候要設置環境變量,而有時又設置用戶變量??
環境變量分為系統環境變量和用戶環境變量。?
你所說的環境變量是指系統環境變量,對所有用戶起作用?
而用戶環境變量只對當前用戶起作用。?
例如你要用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。下面逐個分析。?
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
轉載于:https://www.cnblogs.com/zhwl/p/3338294.html
總結
以上是生活随笔為你收集整理的环境变量和用户变量有什么区别?的全部內容,希望文章能夠幫你解決所遇到的問題。