Eclipse開發Java Web應用系統的注意事項

戴玉佩 Patty Tai

  • 精誠資訊/恆逸教育訓練中心-資深講師
  • 技術分類:程式設計

 

 

Java網站應用系統多年來一直是商用軟體應用開發的主流之一。而開發這樣複雜的應用系統時,必須搭配一個功能完善的整合開發環境(Integrated Development Environment,簡稱IDE)。良好的整合開發工具除了要提供完整的程式編輯/建置/執行/除錯/測試工具,還要能夠管理在開發過程中必須的網站伺服器(Web Server),且將Web專案中的各項元件正確的部署到該伺服器上運作。在眾多Java EE的開發工具中,Eclipse一直是許多開發團隊的首選!本文將提醒初學者在使用Eclipse ee (這裡主要是以2019-03版示範)管理Dynamic Web Project時幾個注意事項。

當在Eclipse中開發任何的Java 專案時,都須注意以下幾項專案屬性(Project Property):

  1. [Resource]屬性項目中的[Text file encoding],避免編碼錯誤產生中文字亂碼。
  2. [Java Compiler]屬性項目中的[JDK Compliance],必須符合專案程式碼要求的版本,若版本小於程式碼要求的版本可能會編譯失敗。
  3. [Java Build Path]屬性項目,這組屬性較為複雜,共有4個頁籤的設定,說明畫面如下:
    • [Source]頁籤:表示專案的Java類別程式放在哪一個資料夾中,預設值為src:
    • [Projects]頁籤,可以將其他專案從這裡加入成為此專案的程式庫。此圖示範的並沒有用到其他專案的元件,所以沒有內容:
    • [Libaries]頁籤,可以將其他的外部Java程式庫加入此專案,圖中是只有用到自訂元件與JDK標準程式庫的元件,還沒有外加的程式庫:
    • [Order and Export]頁籤,表示若要專案元件匯出時,會將這裡有選取的元件匯出到jar檔案中:

當開發的專案為Dynamic Web Project時,專案屬性就更複雜了,因為專案中的Web元件必須要先對應到一個Web Server,才能用到Web伺服器提供的Web Container與HttpServlet等元件程式庫。若Web專案中還有用到其他專案的元件和外部的Java程式庫時,除了利用上述專案屬性設定讓Eclipse能夠在編譯專案元件時正確找到底層程式庫,才能完成專案中的Web元件的建置。還要在執行前將這些元件正確的部署到伺服器上。以下列表中假設目前開發團隊要開發的Web專案環境:

現在來看看MyWebProject的專案屬性,除了跟前面一樣的[Resource]、[Java Compiler]屬性項目,[Java Build Path]屬性項目的有2個頁籤就有些不同了:

  • [Projects]頁籤,可以將其他專案從這裡加入成為此專案的程式庫。此圖示範的已將MyLibProject加入MyWebProject:
  • [Libaries]頁籤,可將其他的外部Java程式庫加入此專案,圖中已用[Add JARs...]加入MySQL JConnector與Java Mail程式庫:

另外還多了下列項目:

  1. [Server]屬性項目,用來定義Web Server
  2. [Project Facets]屬性項目,用來定義底層環境
  3. [Deployment Assembly]屬性項目,Eclipse工具在[Run as]->[Run on server]將這裡列出的項目部署到Web伺服器的應用程式環境中。但Eclipse往往不會自動將剛才在[Java Build Path]中定義的底層專案與外掛程式庫加入此項目清單中,如下圖:

所以請自行用[Add]加入這些缺漏的設定:

這些設定無誤後,就可以開始順利開發測試您的Web應用系統了喔!