目標:將應用自動打包並自動部署到遠程tomcat容器。web
1.在pom.xml中添加plugin apache
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <encoding>UTF-8</encoding> <!--實現熱部署 --> <contextReloadable>true</contextReloadable> <!-- 部署應用的context path --> <path>/${project.artifactId}</path> <!-- Tomcat Manager 的URL,用於部署和取消部署的web應用程序,默認使用manager實例 --> <url>http://localhost:8080/manager/text</url> <update>true</update> <!-- Tomcat Manager的用戶名和密碼,須要在conf/context-user.xml中配置manager-script角色 --> <username>admin</username> <password>admin123</password> </configuration> </plugin>
2.說明tomcat
a.使用tomcat-maven-plugin也行,tomcat7-maven-plugin最近的版本是2.2,仍是2013年更新的,目前還沒看到tomcat8-maven-plugin,不過已經夠用了。安全
b.在自動化部署以前,tomcat的webapps中必須有manager這個原生應用,用戶管理容器中全部的應用(默認容器就已經有了),在/conf/tomcat-users.xml中必須配置幾個角色,固然這些都是容器默認的,你們都知道,若是是生產環境記得注意安全問題。app
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin123" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
c.<url>這裏既能夠填寫本地的也能夠是遠程的,<update>表示若是已經部署是否從新部署webapp
d.最後就是啓動了,打開maven命令界面,輸入tomcat7:deploy 或redeploymaven
e.這裏擴展幾個tomcat命令ui
compile 默認,每一個命令都會先執行這個,能夠不用顯示填寫
url
deploy 部署應用到Tomcatspa
undeploy 取消部署
start 啓動web
reload 從新加載web
stop 中止web