1. 程式人生 > >【Maven】Maven 專案打包成 war 包部署到 Tomcat

【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

 包放置我們的 tomcat 的 webapps 目錄下。如圖所示。 
   
  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 中配置以上內容主要是為了為訪問專案設定資源的相對路徑。