|
不同的JBuilder
Edition,對XML的支援程度也不同。可是不管怎麼說,底層使用的XML Parser與XSLTProcessor,總得要適時地更新,才有機會享用到最新的功能。接下來的內容,就是要跟大家說明JBuilder的擴充機制,為你的JBuilder加上新版的XML相關套件。
使用新版的XML Parser與XSLT
Processor
想要使用XML,至少總要有個能夠剖析XML文件的Parser,以及處理XSLT的
Processor。所以我們先來看看,JBuilder原先是如何提供基本的XML相關功能。
JBuilder 7預設使用的Java 2 SDK
1.3.1版,並沒有處理XML的能力,因為Sun在Java 2 SDK 1.4版之後,才內建XML的支援。JBuilder
8預設使用Java 2 SDK 1.4.1版,雖然提供XML的支援,可是因為Sun內建的XMLParser與XSLT
Processor版本都已經太舊,所以我建議大家按照底下的方式,改用比較新的版本。
在以前,如果要為Java 2 SDK加上XML Parser與XSLT
Processor,你可以下載Sun的Java XML Pack,每半年更新一次。去年六月,Sun推出Java Web Services
Developer Pack 1.0版(簡稱JWSDP),也同時將底層所使用的XML套件,包裝成Java XML Pack Summer
02 Update Release。今年三月,Sun正式釋出JWSDP 1.1版,裡面除了支援JAXP
1.2.2版的最新Parser與Processor,還包括Web Services相關的JAX-RPC、JAXM、JAXR、與SAAJ,
以及大家期待已久的JAXB。這篇文章的重點在JAXP,所以其他有趣的部分,我就暫時略過不提。
JWSDP下載網址是http://java.sun.com/webservices/downloads/webservicespack.html。下載之後,請安裝到C:\jwsdp-1.1目錄,再進行以下的調整。
JBuilder的擴充機制
如果你想要讓JBuilder能夠自動找到你提供的套件,其實就是要想辦法通知JBuilder相關JAR檔案的位置在哪。只不過呢,JBuilder並不是透過設定環境變數的方式,而是以動態給定CLASSPATH的方式,來達成這項目的。實際上的作法,就是下一節要介紹的Library。
Library
JBuilder的Library功能,就像是函數一樣,分成「定義」與「使用」兩個部分。
首先,你必須為想要加入JBuilder的套件,定義一個所謂的Library檔案。這個動作會產生一個XML檔案,裡頭記錄著這個Library所代表的相關JAR檔案。
其次,在每一個會使用到這些相關JAR檔案的JBuilder專案之中,你都必須將這個Library加到專案之中,這時JBuilder才會知道要將各個相關JAR檔案的路徑,動態加到java(c).exe的-classpath參數之後。
最後,不要忘記在Java程式之中,匯入這些Java套件。
定義Java Web Services Developer Pack 1.1
底下以JBuilder 7 Personal
Edition來做示範(為了某些緣故,我個人比較喜歡JBuilder 7 Personal Edition)。請選取JBuilder功能表的Tools、Configure
Libraries,開啟Configure Libraries對話方塊:
按下對話方塊左下角的New按鈕,開啟New Library Wizard對話方塊:
在New Library Wizard對話方塊的Name文字方塊內輸入Java Web Services
Developer Pack 1.1,然後按下Add按鈕,開啟Select One or More Directories對話方塊,就可以準備加入各個JAR檔案:
以JAXP來說,相關的JAR檔案都放在JWSDP安裝目錄內的jaxp-1.2.2\lib與jaxp-1.2.2\lib\endorsed之中。所
以在Select One or More Directories對話方塊內,請選取jaxp-1.2.2\lib底下的jaxp-api.jar,以及jaxp-1.2.2\lib\endorsed子目錄內的所有JAR檔案,再按下OK按鈕,回到New
Library Wizard對話方塊:
再一次按下OK按鈕,回到Configure Libraries對話方塊,就會看到Java Web
Services Developer Pack 1.1這個Library,已經出現在左上角的User
Home位置。這時,按下OK按鈕,就完成「定義Library」的工作。
使用Java Web Services Developer Pack 1.1
接下來,就是「使用Library」的部分。開啟你想要使用JAXP功能的專案之後,請選取JBuilder功能表的Project、Project
Properties,開啟Project Properties對話方塊,再點選中間的Required Libraries標籤頁:
按下右邊的Add按鈕,開啟Select One or More Libraries對話方塊:
點選Java Web Services Developer Pack
1.1,再按下OK按鈕,這個Library就會出現在Required Libraries之中:
這時,再按下OK按鈕,你就完成「使用Library」的工作。
匯入相關Java套件
不要以為到這邊就可以順利編譯與執行這個專案。你還是必須按照正常Java程式的寫法,在Java程式裡頭利用import敘述匯入相關的Java套件,才能夠順利編譯與執行。
執行JBuilder專案的時候,你可以在IDE下方的Message
Pane內,看到JBuilder動態加入的套件路徑與名稱。
投機取巧、一勞永逸的更新方式
剛剛示範的是循規蹈矩的標準作法,可是好像有點煩,有沒有投機取巧、一勞永逸的作法呢?
方法是人想的,所以當然有囉!
JBuilder內的每個專案,都會引入一個很特別的Library,就是Java
2 SDK。不過,你在Configure Libraries對話方塊內看不到這個Library,要從另一個地方才看的到。請選取JBuilder功能表的Tools、Configure
JDKs,開啟Configure JDKs對話方塊:
Configure JDKs對話方塊與Configure
Libraries對話方塊其實長的很像,功能也幾乎一模一樣。唯一的差別,前者負責將各種版本的JDK定義為Library,而後者負責將各種Java套件定義為Library,如此而已。對話方塊的右下方,你可以看到java
1.3.1-b24這個Library的內容。因為每個JBuilder專案都需要引入某個JDK Library,如果我們把JAXP相關的JAR檔案,新增到這個Library之中,那以後不就省去每次開新專案都得到Required
Libraries使用一次的麻煩了嗎!
按下Configure JDKs對話方塊右邊的Add按鈕,熟悉的Select
One or More
Directories對話方塊又會再次出現。接下來的步驟跟先前一模一樣,你只要選取jaxp-1.2.2\lib底下的jaxp-api.jar,以及jaxp-1.2.2\lib\endorsed子目錄內的所有
JAR檔案,然後按下OK按鈕,就會看到剛剛選取的各個JAR檔案,出現在 Configure JDKs對話方塊之內:
再次按下OK按鈕,你就完成java
1.3.1-b24這個特殊Library的修改動作。不管以前或是未來的各個JBuilder專案,只要使用這個預設的Java 2
SDK,自動就能找到我們擴充的Java Web Services Developer Pack 1.1,很不錯吧! |