iamfancy(邊城狂人) 通常,我們需要設(shè)置三個環(huán)境變量:Java_HOME、PATH&n..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java Path (轉(zhuǎn))

發(fā)布時間:2020-08-10 16:21:56 來源:ITPUB博客 閱讀:137 作者:worldblog 欄目:編程語言
Java Path (轉(zhuǎn))[@more@]

***轉(zhuǎn)***.NET/Message_Board/Send.ASP?sendto=iamfancy">iamfancy(邊城狂人)

通常,我們需要設(shè)置三個環(huán)境變量:Java_HOME、PATH  和  CLASSPATH。
 
          JAVA_HOME:該環(huán)境變量的值就是  Java  所在的目錄,一些  Java  版的軟件和一些  Java  的工具需要用到該變量,設(shè)置  PATH  和  CLASSPATH  的時候,也可以使用該變量以方便設(shè)置。
 
          PATH:指定一個路徑列表,用于搜索可執(zhí)行文件的。執(zhí)行一個可執(zhí)行文件時,如果該文件不能在當(dāng)前路徑下找到,則依次尋找  PATH  中的每一個路徑,直至找到。或者找完  PATH  中的路徑也不能找到,則報錯。Java  的編譯命令  (javac),執(zhí)行命令  (java)  和一些工具命令  (javadoc,  jdb  等)  都在其安裝路徑下的  bin  目錄中。因此我們應(yīng)該將該路徑添加到  PATH  變量中。
 
          CLASSPATH:也指定一個路徑列表,是用于搜索  Java  編譯或者運行時需要用到的類。在  CLASSPATH  列表中除了可以包含路徑外,還可以包含  .jar  文件。Java  查找類時會把這個  .jar  文件當(dāng)作一個目錄來進(jìn)行查找。通常,我們需要把  jdk  安裝路徑下的  jrelibrt.jar  (Linux:  jre/lib/rt.jar)  包含在  CLASSPATH  中。
 
          PATH  和  CLASSPATH  都指定路徑列表,列表中的各項  (即各個路徑)  之間使用分隔符分隔。在  windows  下,分隔符是分號  (;),而在  Linux  下,分隔符是冒號  (:)。
 
          下面分別說明三個環(huán)境變量在  Windows  和  Linux  下如何設(shè)置,不過在此之前,我們需要做個假設(shè)。假設(shè)  JDK  在  Windows  下的安裝路徑是  C:jdk,在  Linux  下的安裝路徑是  /usr/local/jdk/。那么,安裝后的  JDK  至少會包括如下內(nèi)容:
 
                  C:jdk  (/usr/local/jdk)
                      |--  bin
                      |--  demo
                      |--  include
                      |--  jre
                      |      |--  bin
                      |      `--  lib
                      `--  lib
 
  *****    在  Windows  下設(shè)置
 
          Windows  下使用  set  命令設(shè)置環(huán)境變量,為了使每一次啟動計算機(jī)都設(shè)置這些環(huán)境變量,應(yīng)該在系統(tǒng)盤根目錄下的  autoexec.bat  文件中進(jìn)行設(shè)置,如:
 
                  set  JAVA_HOME=C:jdk
                  set  PATH=%JAVA_HOME%bin;C:Windows;C:WindowsCommand
                  set  CLASSPATH=%JAVA_HOME%jrelibrt.jar;.
 
          有些版本的  Windows  不能用  %變量名%  來替換環(huán)境變量的內(nèi)容,那么就只好直接寫  C:jdk  而不是  %JAVA_HOME%  了。另外,C:Windows  和  C:WindowsCommand  是  Windows  會自動加入路徑的,所以可以從設(shè)置中去掉。如果在  autoexec.bat  中已經(jīng)設(shè)置了  PATH,那只需要將  %JAVA_HOME%bin  加到原來設(shè)置  PATH  的那條語句中就行了。
 
          CLASSPATH  也可以根據(jù)需要設(shè)置或者加入其它的路徑,比如你想把自己寫的一些類放在  C:java  中,就可以把  C:java  也添加到  CLASSPATH  中去,set  CLASSPATH=%JAVA_HOME%jrelibrt.jar;C:java;.。
 
          注意,在  CLASSPATH  中包含了一個“當(dāng)前目錄  (.)”。包含了該目錄后,就可以到任意目錄下去執(zhí)行需要用到該目錄下某個類的  Java  程序,即使該路徑并未包含在  CLASSPATH  中也可以。原因很簡單:雖然沒有明確的把該路徑包含在  CLASSPATH  中,但  CLASSPATH  中的  “.”  在此時就代表了該路徑,如:
 
          假設(shè)在  C:java  目錄下有可運行的類  HelloJava.class,那么
 
                  C:>  set  CLASSPATH=C:jdkjrelibrt.jar;.      //  設(shè)置  CLASSPATH  環(huán)境變量,注意最后有一個  “.”
                  C:>  cd  java                                                                  //  轉(zhuǎn)到  C:java  目錄
                  C:java>  java  HelloJava                                            //  運行  HelloJava
                  Hello,  Java.                                                                //  運行結(jié)果
                  C:java>  _
 
          該例將在  1.3.3  節(jié)中分析。
 
  ****  在  Linux  下設(shè)置
 
          Linux  下使用“變量名=變量值”設(shè)置變量,并使用  export  命令將其導(dǎo)出為環(huán)境變量。為了使每一次登錄都自動設(shè)置好這些變量,你需要在  ~/.bash_profile  里或者  ~./bashrc  里進(jìn)行設(shè)置,如
 
                  export  JAVA_HOME=/usr/local/jdk
                  export  PATH=$JAVA_HOME/bin:$PATH
                  export  CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.
 
          設(shè)置  PATH  時用的  $JAVA_HOME  是指替換變量  JAVA_HOME  的值到  $JAVA_HOME  所在位置。如上句實際就是  export  PATH=/usr/local/jdk/bin:$PATH。這句中  $PATH  也是同樣的作用,不過這里的  PATH  是指以前設(shè)置的  PATH  變量的值,而非本次設(shè)置  PATH  變量的值。
 
          注意,在  CLASSPATH  中包含了一個“當(dāng)前目錄  (.)”。包含了該目錄后,就可以到任意目錄下去執(zhí)行需要用到該目錄下某個類的  Java  程序,即使該路徑并未包含在  CLASSPATH  中也可以。原因很簡單:雖然沒有明確的把該路徑包含在  CLASSPATH  中,但  CLASSPATH  中的  “.”  在此時就代表了該路徑,例如
 
          假設(shè)在  /home/fancy/java  目錄下有可運行的類  HelloJava.class,那么
 
                  [fancy@matrix  fancy]$  export  CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:.    //  設(shè)置  CLASSPATH,注意最后的“.”
                  [fancy@matrix  fancy]$  cd  ~/java                                                                                  //  轉(zhuǎn)到  /home/fancy/java
                  [fancy@matrix  java]$  pwd                                                                                                //  顯示當(dāng)前目錄
                  /home/fancy/java                                                                                                                //  當(dāng)前目錄是  /home/fancy/java
                  [fancy@matrix  java]$  java  HelloJava                                                                          //  運行  HelloJava
                  Hello,  Java                                                                                                                          //  運行結(jié)果
                  [fancy@matrix  java]$  _
 
          該例將在  1.3.3  節(jié)中分析
 
  *****    實例分析
 
          1.3.1  節(jié)和  1.3.2  節(jié)中的用到的實際上是一樣的例子,只是操作系統(tǒng)不同,略有差別。
 
          兩個例子都提到一個“可運行的類”,它是指包含了  public  static  void  main(String[]  args)  方法的類,這將在下一章  HelloJava  一節(jié)中詳述。例中的  CLASSPATH  均未包含  HelloJava.class  所在的目錄(C:java,  /home/fancy/java),但是均包含了當(dāng)前目錄  (.)。因此轉(zhuǎn)到包含  HelloJava.class  的目錄下去執(zhí)行  java  HelloJava,在  Java  尋找到  CLASSPATH  中的“.  (當(dāng)前目錄,C:java,  /home/fancy/java)”時,找到了  HelloJava.class,運行成功。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI