將專案匯出 / 匯入 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 個回應