1. 程式人生 > >Java環境變數配置以及classpath詳解

Java環境變數配置以及classpath詳解

下載安裝完java,首先要做的就是配置環境變數的系統變數(進入我的電腦,右鍵選屬性,選高階,點環境變數,這樣就進入了環境變數配置,我們要配置的是下面的系統變數),一般需要配三個變數path,java_home,和classpath(不區分大小寫)

1.java_home ,環境變數裡,如果沒安裝過java的機器,裡面沒有這個引數,自己建一個,這個環境變數設的值為jdk的安裝路徑,如我的是C:\java,如圖


當然,這個目錄有它重要的作用,1.方便設定path,classpath等(下面會提到),2.便於修改,有一些軟體會呼叫這個值,查詢jdk路徑

2. path ,這個引數系統應該自帶,如果沒有自己建一個,設定的是你安裝jdk的bin目錄,有兩種寫法(我安裝的目錄是C:\java)

         第一種.C:\java\bin 這個目錄是bin資料夾的絕對路徑

         第二種就要用到前面設定的java_home了,設為 %java_home%\bin,沒錯就是用java_home的值代替jdk的安裝路徑,這樣需要修改時,只需要修改java_home的值就行了。

    注意,path裡面的變數有很多,變數與變數之間要用分號隔開,(除了末尾不加分號)

    用過命令列的都知道path這個值,起到的是簡化操作的作用,比如有一個命令“c.exe " 在目錄C:\A\B\下存放,如果在命令提示符下呼叫這個命令,就需要執行命令 C:\A\B\c + 引數,如果把C:\A\B 加入到path中,只需要執行命令 c+引數 ,系統會自動查詢path引數的值,然後逐個路徑搜尋

3. classpath這個引數,設為  .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar

 看清楚有兩個分號,第一個前面只有一個點,表示的是當前目錄,這個很重要,後面兩個是兩個第三方jar包,這個引數的值不包括標準類庫和擴充套件類庫的jar包,因為標準類庫和擴充套件類庫是預設載入的不需要設定,要設定額外的第三方類

我要重點說一下這個引數,在我原來學java的時候,沒太注意過這個值,在我回過頭來,看這個引數的時候,發現它竟然可以不用設,,不設的話,java虛擬機器會預設搜尋當前路徑,也就是你寫的java程式所在的位置,也就相當於我們設的那個“.”號,但是如果你想

用tools.jar或dt.jar裡面的類怎麼辦?這裡有兩種方法,一種就是前面講的設定classpath,但是這個classpath必須要帶上前面的“.”號,如果不帶,只設置tools.jar或dt.jar的路徑,虛擬機器竟然不載入當前目錄的類,也就是classpath把預設的classpath(也就是預設搜尋當前路徑)給覆蓋了,不搜尋當前路徑了,所以,一定不要忘了那個點號。第二種方法 就是在命令列中執行命令時,帶上classpath 引數,

如我要載入,dt.jar這個包裡面的類(編譯test.java),我命令就要這樣寫 javac -classpath .;C:\java\lib\dt.jar test.java 也就是在引數classpath中加入需要的第三方類的的路徑,但是在前面必須加一個“.”號,表示當前路徑,我試了,如果不加它也找不到當前目錄的類。

我比較喜歡不設定它,當真正用到第三方包的時候加個引數就行了。