一:關於path環境變量--為了在任意目錄下,使用javac/java命令
第一種配置方法:
通過配置path環境變量,我們可以使某個程序,比如javac.exe,在任意目錄下都可以運行,而不用跑到javac存在的目錄下進行dos命令。
比如:可以將QQ.exe所在目錄配置到path中,這樣在任意目錄下打開命令行,輸入QQ.exe都可以運行QQ。
見圖:
通過以上設置,我們將程序的開發文件存在其他目錄下,一樣可以運行javac命令來進行編譯、運行。
第二種配置方法:
當電腦上有多個JDK時,就需要多次修改path,用哪個jdk的java、javac、就需要修改path中的bin路徑,這樣很容易出錯!
ps:兩個%%相當於引用的意思。
好處,當切換JDK時僅需要修改JAVA_HOME中的安裝路徑就可以。
綜上所述: 配置path變量是為了在任意目錄下使用javac、java命令! 前提是你得進入這個任意目錄啊大哥!想要不進你存java文件的目錄就運行編譯,除非你去配置classpath變量!
二、classpath變量---為了不進入存放文件的目錄就可以通過javac、java運行、編譯該文件。(java、javac命令在哪里都可以使用,因為我們配置了path)
我們一般不配置classpath,因為如果有不同文件夾下重名的class文件,執行的是classpath中靠前的那個,有可能不是我們希望執行的那個class文件。
作用:使可以在任意路徑下執行class文件。
配完classpath以后,(在classpath中配置當前class存放目錄:如f:\huangtao\javase\)在c、d、、、任意地方都可以運行class文件,
ps: java運行class文件時,按順序搜索classpath中的幾個路徑。
classpath僅僅是為了.class文件可以在任意目錄運行(前提是這幾個任意目錄都已經配置在了classpath中),但是javac編譯java文件時必須要跳到該文件所在目錄以后才能執行。
比如在f:\huangtao\java文件\下存放了一個HelloWorld.java文件,只可以在該目錄下才可以執行javac命令編譯該文件。
在f:下存放了另一個HelloWorld.java文件,也是只有在該目錄下才可以javac編譯這一個java文件。
配置了classpath以后,當我們想運行f:\huangtao\java文件 下的class文件,可以不用在該目錄下執行java HelloWorld,只要在f:中都行,系統會默認先執行classpath中靠前的那個class路徑。
三:classpath與path的區別
ps: path里記錄的是 .exe 文件,classpath對應的是 .class 文件。