使用tomcat-maven-plugin自动化部署应用

  目标:将应用自动打包并自动部署到远程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

相关文章
相关标签/搜索