將專案匯出 / 匯入 WAR 檔

在 Struts2 設置筆記 (Hello World 級^^) 中提到 Struts2 的設置環境,但是如果每次要開發一個 Struts 2 專案就要做一次這些事情有點麻煩,如果只是要空白的 WAR,Struts2 下載下來裡面就已經有了,這邊小蛙記錄把一個基礎建置好的 Struts 2 專案(包含已經加入了常用的設定、套件、架構 … 等) 匯出成 WAR。
要把專案匯出成 WAR 非常簡單,只要在要匯出的專案上

點選滑鼠右鍵
-> Export
-> Export ...
-> Web
-> WAR file
-> Web project: (選取要匯出的專案)
-> Destination: (選擇要存的檔案及路徑)
-> Optimize for a specific server runtime: (選擇自己用的 Server 也可以不選)
-> Export source file (是否要包含程式碼)
-> Override existing file (覆蓋既有檔案)
-> Finish

小蛙一開始沒有勾選 Export source file,造成把 WAR 專案解回來的時候發現裡面只有一堆 class 跟 jar,完全沒有半點原始檔 … 再包一次記得要把這個打勾,如果是要把專案佈署到 tomcat 上的話,就可以不用勾選這個選項。
接著是匯入的步驟,在 Eclipse 上

點選滑鼠右鍵
-> Import
-> Import ...
-> Web
-> WAR file
-> WAR file: (選擇剛剛匯出的檔案)
-> Web Project: (要匯入專案的名字)
-> Target runtime: (Server 環境,可不設定) 
-> Next
-> WAR Import: (如果 WAR 專案裡面的只有用到別人的 library,這裡不要勾選)
-> Finish

上面的 WAR Import 小蛙第一次不太瞭解意思就勾選了,結果 Eclipse 中就多了一堆專案,Eclipse 把所有用到的 JAR,例如:ojdbc14.jar 也匯入成一個 ojdbc 專案。
這邊還有一個地方要修改,小蛙也不知道為什麼匯回去的專案路徑跟原始匯出時的不同,從

Project
-> Properties
-> Java Build Path
-> Source
-> Default output folder: MyProject/WebContent/WEB-INF/classes

從 WAR 匯回的專案卻變成系統預設

Default output folder: MyNewProject/build/classes

這邊要把新專案設定回原本的路徑,否則可能會造成一些找不到 class 或是路徑錯誤的問題!

    2 個回應

    1. 我測試議下網頁有沒有問題2表示:
    2. 我測試議下網頁有沒有問題表示:

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料