1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      Java編程高手對CLASSPATH應用的詳細介紹

      更新時間: 2008-04-14 14:58:42來源: 粵嵌教育瀏覽量:789

        【賽迪網技術社區整理】如何設置CLASSPATH,是初學者常提出的問題。網上有很多文章提到了許多如何設置的方法,但是都沒有講為什么要這樣設置(令人感到悲哀的是:絕大部分的人的觀點是不正確的)。

        為了幫助大家更好的學習JAVA的基本知識,同時也是鍛煉自己的Type水平,于是有了這篇文章的誕生。主要參考資料來自來自官方JDK文檔,希望對大家有用(所說的觀點針對1.4.2 and 5.0版本)。

        1. 預備知識

        1.1安裝JDK

        到http://java.sun.com 根據不同的操作系統,下載相應的J2SE JDK 版本 (寫這篇文章時的JDK 為1.5 update 7)。假定我們把JDK安裝到D:\JDK\1507 ,不安裝public JRE。

        1.2 設置path

        在[我的電腦]上右擊,選擇[屬性]。再選擇[]-[環境變量],在[系統變量]中添加一個新的變量

        JAVA_HOME=D:\JDK\1507,然后再編輯path變量,在原來的path前面添加[ %JAVA_HOME%\BIN; ]

        (方框中的文字)。這樣就完成了JAVA的基本設置。(windows 98 下如何在autoexec.bat 中設置,請自己找資料)

        1.3 演示程序

        為了幫助理解,我寫了一個JavaBootTest.java 的小程序來顯示。

        public class JavaBootTest {

        public static void main(String[] args) {

        System.out.println(" The Classpath are: ");

        System.out.println(System.getProperty("java.class.path"));

        //other program lines

        }

        }

        用下面的兩條命令分別編譯和運行。

        javac JavaBootTest.java

        java JavaBootTest

        2. JAVA程序運行時如何查找類文件

        根據JDK 文檔說明, JAVA 程序以以下3種順序查找運行的類文件。

        1.Bootstrap classes (*)

        2.Extension classes

        3.Users classes

        2.1 Bootstrap classes

        就是JAVA在啟動時載入的類文件,這些類文件主要是rt.jar 和 jre/lib 目錄下的一些類文件。Bootstrap過程中的class path是保存在 sun.boot.class.path 系統屬性中的。可以通過System.out.println(System.getProperty("sun.boot.class.path")); 來顯示。同時Bootstrap classes 可以通過 -Xbootclasspath 命令行參數來指定。

        下面列出了系統中默認的Bootstrap classes:

        jre\lib\rt.jar; jre\lib\i18n.jar;

        jre\lib\sunrsasign.jar; jre\lib\jsse.jar;

        jre\lib\jce.jar; jre\lib\charsets.jar;

        jre\classes

        * Bootstrap

        bootstrap是皮鞋后部的一條小帶子或一個小環,它可以使你方便地把鞋子穿起來。在計算機中,是指使用一個很小的程序將某個特定的程序(通常是指操作系統)載入計算機中。

        2.2 Extension classes (擴展類文件)

        Extension classes 主要是指的jre/lib/ext 目錄下的類文件,這些文件必須在jar 文件或 zip 文件中。如果不同名字的jar 文件包含有相同的類文件,那么哪一個類文件被載入是不確定的。

        2.3 User classes (用戶自定義的類文件)

        現在到了重要的地方了,我們常說的設置CLASSPATH 其實就是指定 User classes。JAVA 按照以下四種順序查找User classes。

        2.3.1. 默認的User classes . (dot) 就是指當前目錄。

        2.3.2. 系統變量 CLASSPATH 所指定的類庫,該變量覆蓋(override)默認的User classes。

        2.3.3. 用命令行參數 -cp 或 -classpath指定的類庫。這個時候覆蓋默認的User classes 和CLASSPATH變量。

        2.3.4. 通過-jar 參數指定的jar文件。此時覆蓋上面的三種情況,如果使用這種情況,所有的類文件必須來自指定的jar 文件。

        了解了java如何查找User classes,我們接下來將要學習如何設置 CLASSPATH變量。

        3 如何正確設置CLASSPATH

        如果只是一般運用java,只是用到java的基本庫文件,練練手而已,則不需要設置CLASSPATH 。

        但是在一般開發情況下,這是很少遇到的。所以我們要自己設置CLASSPATH 。

        我們一般的方法就是按照2.3.2 來設置CLASSPATH 系統變量,像開始設置path一樣,我們可以添加一個CLASSPATH的系統變量。網上有些文章所提到的添加rt.jar 和 tools.jar 等等是不需要的,因為這些類庫是屬于Bootstrap classes的。我們只要定義User classes ,如果我們要編譯servlet 那么只要servlet-api.jar 和 jsp-api.jar 就可以實現基本的需要了。

        另外要注意的是2.3.2 override 2.3.1。我們設置CLASSPATH 時要將 .(dot)[表示當前目錄]放在CLASSPATH中,然后用 ;(semicolon)分隔開來。由于其他提供的類文件都是放在jar文件中,我們設置時一定要將完整的jar 文件包含在CLASSPATH 中,而不是將其目錄添加到CLASSPATH 中(很重要的一點,我以前就是理解錯誤了)。

        這個時候又一個問題出現了,當需要添加的jar 文件過多時,管理java 類庫變得很麻煩。所以我認為在基礎學習時用命令行編譯調試,有利于JAVA的學習,但是到開發時則一定要用到 IDE 工具(現在比較流行的是eclipse 和 netbeans ,還有些人喜歡 jcreator) 。

        在eclipse 中通過 [windows][Preferences][Java][Build Path]來指定。其中有兩部分Classpath Variables & User Libraries。如何設置在這里就不詳細說明了,自己試一下就可以了,比較簡單。在新建項目時,把自己定義的變量添加到Build Path 中就可以了。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 最新国自产拍在线 | 在线播放国产不卡视频 | 亚洲成在人电影天堂 | 尤物福利在线观看永久视频 | 日本午夜精品理论片a级 | 日本免费三区激情视频在线看 |