使用maven deploy將專案熱部署到tomcat
開發過程中,maven專案可以先打包, 再把包放到tomcat釋出目錄下, 在重啟tomcat.
環境 tomcat7+maven3,
本文實現如何mvn -deploy到tomcat釋出目錄, 並且無需重啟tomcat, 實現熱部署.(本文在eclipse中新建maven專案, 用不用eclipse跟本文主旨是沒有關係的.)
文中有大圖片, 閱讀時模糊, 建議用滑鼠左鍵按住,把圖片拖到瀏覽器新的視窗去看.
1.修改tomcat安裝目錄下的資料夾conf下的tomcat-users.xml
新增如下程式碼片段:
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
驗證一下上面配置是否生效: 啟動tomcat, 可以找到tomcat安裝目錄下資料夾bin下的startup.bat, 雙擊之, 啟動tomcat.
瀏覽器輸入地址http://localhost:8080/,進入tomcat首頁.
點選上圖的Manager App,彈出登入, 需要輸入帳號和密碼. 輸入上面在tomcat-users.xml新增的使用者為admin, 密碼為password
進入到tomcat釋出應用的管理頁面(該頁面地址是(http://localhost:8080/manager/html), 這個頁面可以看到當前tomcat在執行那些應用. ↓↓
第一步完成, 保持tomcat執行,這個頁面先不要關掉.
2.配置maven. 找到maven安裝目錄下的conf資料夾的settings.xml
在<servers>節點中新增如下程式碼片段. 注意這裡的username和password節點值, 必須與第1步在tomcat-users.xml新增的使用者名稱,密碼一致.
<server>
<id>tomcat7</id>
<username>admin</username>
<password>password</password>
</server>
3.eclilse中新建mavan專案
在工程的pom.xml檔案的<project>節點中新增如下程式碼片段:
<build>
<finalName>mymvn</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<!-- 注意此處的url,它的值就是第一步中的tomcat釋出應用管理頁面地址 -->
<url>http://localhost:8080/manager/html</url>
<server>tomcat7</server> <!-- 此處的名字必須和setting.xml中配置的ID一致 -->
<path>/mymvn</path> <!-- 此處的名字是專案釋出的工程名 -->
</configuration>
</plugin>
</plugins>
</build>
4. 到此, 所有需要做的配置都ok了.
eclipse中, 右鍵專案名mymvn.
maven命令是clean tomcat7:deploy . 這裡注意tomcat是版本7, 那命令就是tomcat7:deploy(親驗正確可用)
其他版本如tomcat6 是tomcat6:deploy(未親自驗證)
eclipse控制檯列印資訊如下表示
5. 回到第一步, 重新整理tomcat釋出應用管理頁面http://localhost:8080/manager/html, 可以看到mymvn專案
另開一個網頁,輸入http://localhost:8080/mymvn/, 可以訪問, 則說明mymvn專案已經成功釋出.
另外,如下圖, 也可以看到tomcat的應用釋出目錄下, 多了檔案mymvn.jar. 進一步說明maven釋出專案到tomcat了.