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):
- [Resource]屬性項目中的[Text file encoding],避免編碼錯誤產生中文字亂碼。
- [Java Compiler]屬性項目中的[JDK Compliance],必須符合專案程式碼要求的版本,若版本小於程式碼要求的版本可能會編譯失敗。
- [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專案環境:
![](20190902/06-2.jpg)
現在來看看MyWebProject的專案屬性,除了跟前面一樣的[Resource]、[Java Compiler]屬性項目,[Java Build Path]屬性項目的有2個頁籤就有些不同了:
- [Projects]頁籤,可以將其他專案從這裡加入成為此專案的程式庫。此圖示範的已將MyLibProject加入MyWebProject:
- [Libaries]頁籤,可將其他的外部Java程式庫加入此專案,圖中已用[Add JARs...]加入MySQL JConnector與Java Mail程式庫:
![](20190902/06.png)
![](20190902/07.png)
另外還多了下列項目:
- [Server]屬性項目,用來定義Web Server
- [Project Facets]屬性項目,用來定義底層環境
- [Deployment Assembly]屬性項目,Eclipse工具在[Run as]->[Run on server]將這裡列出的項目部署到Web伺服器的應用程式環境中。但Eclipse往往不會自動將剛才在[Java Build Path]中定義的底層專案與外掛程式庫加入此項目清單中,如下圖:
![](20190902/08.png)
![](20190902/09.png)
![](20190902/10.png)
所以請自行用[Add]加入這些缺漏的設定:
![](20190902/11.png)
這些設定無誤後,就可以開始順利開發測試您的Web應用系統了喔!