【Maven】Maven 專案打包成 war 包部署到 Tomcat
【Maven】Maven 專案打包成 war 包部署到 Tomcat
實踐環境
- 作業系統: Windows
- IDE: Eclipse
打包部署過程
1 專案打包
1.1 右鍵點選所需要打包的專案,點選如圖所示 Maven clean
,這裡 Maven 會清楚掉之前對這個專案所有的打包資訊。
1.2 進行完 Maven clean
操作後,在eclipse的控制檯會出現以下的資訊。
1.3 然後我們重新右鍵所需打包的專案,點選如圖所示 Maven build
1.4 在彈出的介面中,進行如下圖的操作。
“Goals”輸入框中輸入
-X package
,同時勾選下方 Update Snapshots
和 Skip Tests
選項框。 1.5 出現以下結果則說明打包成功。
1.6 重新整理我們的專案,我們能在專案的
target
目錄下找到我們打包好的 war
包。 2 專案部署
2.1 將上述打包好的 war
2.2 修改 tomcat 中 conf 目錄下的配置檔案 server.xml,在配置檔案中找到Host標籤,在其中新增如下內容。這裡使用的是相對路徑,
doBase
屬性的值是我們所打 war
包的名稱(至於為什麼要增加這一步,後面會做解釋)。
<Context docBase="analysis-tool-web-1.0-SNAPSHOT" path="/" reloadable="true" privileged="true"/>
- 1
2.3 進入 tomcat 的 bin 目錄,點選 startup.bat
啟動我們的tomcat。顯示如下結果則說明部署成功。
2.4 這時候我們開啟瀏覽器輸入 localhost:8080
,就成功訪問到了我們的主頁。
說明
上述說到,在我們 tomcat 中的 conf 目錄中的 server.xml 配置檔案中新增以下內容。
<Context docBase="analysis-tool-web-1.0-SNAPSHOT" path="/" reloadable="true" privileged="true"/>
- 1
我們先把原先的內容註釋掉,重啟來看下會出現什麼問題。
註釋掉後,重啟我們的tomcat,然後在瀏覽器中訪問 localhost:8080
。
你會發現這個時候是請求不到我們的專案的。這種情況下在訪問路徑中加上我們的專案名稱再試下,訪問 http://localhost:8080/analysis-tool-web-1.0-SNAPSHOT/login
(專案的所有資源、請求都在 analysis-tool-web-1.0-SNAPSHOT
目錄下)。
到這一步基本跟之前一樣是沒什麼問題的。問題就在我們點選登入以後,後面的請求路徑的變化。我嘗試進行登入,看登入後的跳轉路徑。
這裡缺省了我們的專案路徑 /analysis-tool-web-1.0-SNAPSHOT
,而當前專案資源、請求都在 analysis-tool-web-1.0-SNAPSHOT
資料夾下。請求直接跳轉至 /
下,導致找不到資源的請求報404錯誤。在 server.xml 中配置以上內容主要是為了為訪問專案設定資源的相對路徑。