在eclipse 中利用ant 來建立jaxb 程式ctchen/pdf/eclipse_ant_jaxb.pdf · compiler...

12
Eclipse 中利用 Ant 來建立 JAXB 程式 作者:陳建村 email[email protected] or [email protected] 網址:http://pl.csie.ntut.edu.tw/~ctchen 日期:2004/06/180.01 beta前言 本文主要目的為介紹如何在 Eclipse (1) 利用 Ant 來呼叫 JAXB schema compiler 以便自動產生 Java 程式, (2) 將這些自動產生的程式以及我們所撰寫的 程式交由 Eclipse 來編譯。在理想的狀況下,如果有人為 JAXB 設計一個 Eclipse plug-in,那麼我們在 Eclipse 中存檔時,Eclipse 就會自動幫我們做這兩件事。在 我撰寫本文時,我並未找到這樣的 plug-in。由於 Eclipse 支援 Ant,因此我們可 以直接在 Eclipse IDE 環境中透過 Ant 來呼叫 JAXB schema compiler,以簡化整 的開發流程。 環境設定與預先知識 本文在 Windows 2000 Server SP4 繁體中文版中完成,我們假設讀者已經安裝好 了下列軟體: Sun JDK j2sdk1.4.1_05Eclipse 1.1.3WSDP 1.3JAXB包含在Sun公司的Java Web Services Developer Pack (WSDP) 中。因此,要 使用JAXB我們必須下載並安裝WSDP 。關於WSDP的安裝請參考如何安裝 JAXB 一文(PDF格式)。Eclipse中已經內建了對於Ant的支援,因此不需要另外安裝。 Eclipse 中使用使用 Ant 呼叫 JAXB Schema Compiler 首先,在Eclipse中新增一個Java專案(圖 1),接下來為這個專案取名,在此我們 將專案命名為JAXB_BOOKS(圖 2)然後直接按下【F inish】按鈕即可(圖 3)。 1

Upload: others

Post on 20-Aug-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

  • 在 Eclipse中利用 Ant 來建立 JAXB程式

    作者:陳建村 email:[email protected] or [email protected]網址:http://pl.csie.ntut.edu.tw/~ctchen日期:2004/06/18(0.01 beta) 前言 本文主要目的為介紹如何在 Eclipse 中 (1) 利用 Ant 來呼叫 JAXB schema compiler以便自動產生 Java 程式,(2) 將這些自動產生的程式以及我們所撰寫的程式交由 Eclipse 來編譯。在理想的狀況下,如果有人為 JAXB設計一個 Eclipse plug-in,那麼我們在 Eclipse中存檔時,Eclipse就會自動幫我們做這兩件事。在我撰寫本文時,我並未找到這樣的 plug-in。由於 Eclipse 支援 Ant,因此我們可以直接在 Eclipse IDE環境中透過 Ant 來呼叫 JAXB schema compiler,以簡化整的開發流程。 環境設定與預先知識 本文在Windows 2000 Server SP4繁體中文版中完成,我們假設讀者已經安裝好了下列軟體:

    Sun JDK j2sdk1.4.1_05。 Eclipse 1.1.3。 WSDP 1.3。

    JAXB包含在Sun公司的Java Web Services Developer Pack (WSDP) 中。因此,要使用JAXB我們必須下載並安裝WSDP。關於WSDP的安裝請參考如何安裝 JAXB一文(PDF格式)。Eclipse中已經內建了對於Ant的支援,因此不需要另外安裝。 在 Eclipse中使用使用 Ant呼叫 JAXB Schema Compiler 首先,在Eclipse中新增一個Java專案(圖 1),接下來為這個專案取名,在此我們將專案命名為JAXB_BOOKS(圖 2)然後直接按下【Finish】按鈕即可(圖 3)。

    1

    mailto:[email protected]:[email protected]://pl.csie.ntut.edu.tw/~ctchenhttp://java.sun.com/webservices/jwsdp/index.jsphttp://pl.csie.ntut.edu.tw/~ctchen/pdf/install_JAXB.pdf

  • 圖 1:在 Eclipse中新增 Java 專案

    圖 2:將專案命名為 JAXB_BOOKS

    2

  • 圖 3:完成專案新增 接下來,下載books.xsd1,與build.xml,並將其複製到剛剛建立的專案中(圖 4)。build.xml的內容主要為呼叫 JAXB schema compiler以便將books.xsd(一個XML Schema檔案,定義書籍資料)轉成java物件。在此我們不介紹JAXB的運作原理,對於JAXB的不熟悉的讀者,請參考文末Resources中的相關資料。 列表 1為 build.xml的內容,第 5 行宣告了一個變數 jwsdp.home 指到WSDB安裝目錄。第 7-14 行定義了一個 target,其主要內容就是要呼叫 JAXB schema compiler(第 9 行),設定輸入的 XML Schema檔案(第 10 行,books.xsd),並指定產生程式的 package(第 11 行,-p)名稱(第 12 行,test.jaxb)。 有了 build.xml檔案之後,便可呼叫 Ant 來執行。由於 Eclipse內建對於 Ant的支援,因此我們可以直接透過 Eclipse的工具按鈕來執行 Ant(圖 5)。執行的結果顯示在 Eclipse的 Console 中(圖 6)。如果一切正常,將會看到 BUILD SUCCESSFUL訊息以及本次執行 Ant所花的時間(例如 Total time: 4 seconds)。 由圖 6中我們發現在執行 build.xml的過程中產生了很多檔案,但是我們在Eclipse的 Package Explorer 中並不會看到這些剛剛產生的檔案(請參考圖 7)。我們必須手動重新整理這些檔案才會出現(請參考圖 8與圖 9)。

    1 該檔案是由Ed Ort and Bhakti Mehta所撰寫的[1]。

    3

    http://java.sun.com/developer/technicalArticles/WebServices/jaxb/bookxsd.txthttp://pl.csie.ntut.edu.tw/~ctchen/pdf/examples/build.xml

  • 圖 4:將 books.xml與 build.xml複製到專案中

    列表 1:books.xml

    4

  • 圖 5:呼叫 Ant執行 build.xml。先在 Package Explorer中點選 build.xml檔案,然

    後再用 Run As 的方式呼叫 Ant Build

    圖 6:Ant的執行結果顯示於 Eclipse Console中

    5

  • 圖 7:執行 Ant後,Package Explorer中的檔案並未增加

    圖 8:在Package Explorer中點選該專案,按下滑鼠右鍵後出現選單,選擇Refresh。

    6

  • 圖 9:Refresh(重新整理)之後在 Package Explorer中出現了三個 packages。此

    時程式尚有錯誤,Eclipse無法編譯這些產生的程式 讓 Eclipse正常編譯 JAXB Schema Compiler所產生的檔案 為了讓 Eclipse可以順利編譯 JAXB所產生的檔案,我們必須設定該專案,在 Java Build Path 選 項 中 , 利 用 Add External JARs... 的 功 能 , 加 入C:\javaset\jwsdp-1.3\jwsdp-shared\lib\*.jar 與 C:\javaset\jwsdp-1.3\jaxb\lib\*.jar。詳細操作步驟請參考圖 10~圖 15。 設定完成後,我們發現剛才的錯誤訊息已經消失,整的專案可以正常的編譯。請

    參考圖 16。整個過程已經完成,接下來讀者就可以在此專案中繼續開發程式。

    7

  • 圖 10:在Package Explorer中點選該專案,按下滑鼠右鍵後出現選單,選擇

    Properties。

    圖 11:點選Java Build Path並按下Add External JARs…。

    8

  • 圖 12:加入 C:\javaset\jwsdp-1.3\jwsdp-shared\lib\*.jar

    圖 13:加入 13個 jar檔

    9

  • 圖 14:加入 C:\javaset\jwsdp-1.3\jaxb\lib\*.jar

    圖 15:增加了 4個 jar檔。按下 OK 便完成設定

    10

  • 圖 16:錯誤訊息已經全部消失,程式可正常編譯 Resources [1] http://java.sun.com/developer/technicalArticles/WebServices/jaxb/. Java

    Architecture for XML Binding (JAXB). [2] https://www6.software.ibm.com/developerworks/education/x-jaxb/x-jaxb-a4.pdf.

    Data binding with JAXB. [3] http://www.onjava.com/pub/a/onjava/2003/12/10/jaxb.html. Understanding JAXB:

    Java Binding Customization. [4] http://www.onjava.com/lpt/a/4819. The State of JAXB: Availability, Suitability,

    Analysis, and Architecture.

    11

    http://java.sun.com/developer/technicalArticles/WebServices/jaxb/https://www6.software.ibm.com/developerworks/education/x-jaxb/x-jaxb-a4.pdfhttp://www.onjava.com/pub/a/onjava/2003/12/10/jaxb.htmlhttp://www.onjava.com/lpt/a/4819

  • 修改紀錄 日期 版本 主要修改內容

    2004/06/18 0.01 beta

    本文件第一個公開版本

    12