工程中的程序除標准JDK類庫外還會引用到各種其他的類或包,這些類可能第三方如Apache組織開發的類庫,也可能是公司自己的Java類庫。JBuilder會自動將JDK類庫加入到開發環境中,所以你可以在Java程序中直接用import語句引用需要的JDK包,但第三方或公司自己開發的類庫則需要手工添加到工程的類庫中。維護類庫可以說是Java程序員所需具備的最基本的技能。當編寫程序時,JBuilder可能會報告某某類“does not exist”的錯誤信息,這說明JBuilder在當前工程中類庫中沒有找到需要的類,這時你需要做的就是將這個類所在的類庫包添加到工程的類庫中。
筆者在教學和工作的實踐中經常發現許多初學者,甚至一些堪稱熟練的開發工程師對工程類庫都感到手足無措。為了徹底掃除這塊盲區,需要對JBuilder中的程序文件如何引用其他的類做一個全面的解讀,程序文件引用其他的類可用圖3-25來描述:
在編寫程序時的CodeInsight、剩余代碼的自動補全、查看類的幫助文檔等,在編譯程序時的類引用檢查、在運行程序時的類代碼調用,JBuilder無不是通過工程類庫來提供幫助的。在編譯/運行程序時,JBuilder自動把工程類庫所對應的所有路徑添加到javac/java-classpath參數之後,這樣編譯器和運行器都可以自動探索到這些擴展類庫了。
所以,在Java程序文件中通過import語句引用的外部類或包必須是:
— JDK的類庫
— 工程擴展類庫
— 工程中其他的Java文件
在默認情況下工程擴展類庫是空的(某些通過向導創建的對象,JBuilder會自動將需要的類庫加入到工程的擴展類庫中),如果你需要引用的這個類不是JDK類庫中的類,也不是工程中其他的Java文件,那麼就需要手工將這些類庫添加到工程擴展類庫中。
一般情況下,類庫將類文件、資源文件及相應的Javadoc文件打包在一起,並以.jar或.zip文件存儲。可以通過Project->Project Properties...->Paths->Required Libraries標簽頁下的列表查看工程的擴展類庫。
從圖3-25中,我們可以知道可以通過三種方式定義工程擴展工程類庫。但是每種方式都有它們不同的適用場合。
— 共享其他工程:可以將其他工程的所有類及工程類庫置為該工程共享,通過這種方式將其他工程的所有的類及類庫加入到當前工程中,如上一小節的實戰經驗所描述的場景。
— .jar和.zip類型的類庫:通過指定第三方的類包文件引用這些類庫。
— JBuilder類庫:JBuilder類庫是獨立於具體工程的開發環境的類庫資源,JBuilder自帶了一個豐富的類庫。你也可以將一些常用的第三方類庫添加到JBuilder類庫中,這樣任何一個工程都可以直接從JBuilder類庫間接引用類庫。
圖3-25 程序文件引用其他的類
提示:JBuilder類庫提供了豐富的標准JDK類庫外其他常用類庫,如處理XML的Apache項目的Xalan及Xerces類庫、J2EE的類庫、Borland公司的類庫等,開發人員也可以手工維護JBuilder類庫。但JBuilder類庫並不會直接加入到工程擴展類庫中,也即開發人員必需手工將JBuilder中的某個具體類庫添加到工程擴展類庫中後,工程中的程序才可以引用這些類庫。