美文网首页
maven结合tomcat实现自动部署

maven结合tomcat实现自动部署

作者: 小李_a98e | 来源:发表于2018-09-27 17:05 被阅读0次

maven结合tomcat实现自动部署

  • 编辑远程tomcat服务器下的conf/tomcat-users.xml,在末尾增加(其实只要拉到文件末尾,去掉注释改一下就可以了)

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin" password="password" roles="manager-script"/>
    <user username="root" password="password" roles="manager-gui"/>
    

    将上面的password改为自己的密码,注意对于tomcat9来说,不能同时赋予用户manager-script和manager-gui角色。

    保存tomcat-users.xml。

  • 在tomcat服务器的conf/Catalina/localhost/目录下创建一个manager.xml文件,写入如下值:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context privileged="true" antiResourceLocking="false"
             docBase="${catalina.home}/webapps/manager">
                 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
    </Context>
    
  • 然后在浏览器中输入http://serverip:port/manager/html,此时会弹出要求输入用户名和密码对话框,输入manager-gui对应的用户和密码登录管理控制台(其中serverip为服务器ip,如果服务器在本地就是localhost或者127.0.0.1,端口为tomcat端口,默认8080)。以此确认manager是否配置正确。 输入 roles 为 manager-gui 的用户名密码

  • 在pom.xml文件中,在plugins节点下添加如下plugin节点

    <plugin>
    
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
    
        <configuration>
            <url>http://serverip:port/manager/text</url>
            <username>admin</username>
            <password>password</password>
            <update>true</update>
            <path>/webapp</path> <!-- 项目部署的名字 -->
        </configuration>
    
    </plugin>
    
    • 然后进行部署,如果是第一次部署,运行mvn tomcat7:deploy进行自动部署(对于tomcat8,9,也是使用tomcat7命令),如果是更新了代码后重新部署更新,运行mvn tomcat7:redeploy,如果第一次部署使用mvn tomcat7:redeploy,则只会执行上传war文件,服务器不会自动解压部署。如果路径在tomcat服务器中已存在并且使用mvn tomcat7:deploy命令的话,上面的配置中一定要配置<update>true</update>,不然会报错。

    • 解决部署时内存溢出问题

      <dependency>
          <groupId>se.jiderhamn.classloader-leak-prevention</groupId>
          <artifactId>classloader-leak-prevention-servlet</artifactId>
          <version>2.1.0</version>
      </dependency>
      
  • web.xml 添加过滤器

    <listener>
        <listener-class>se.jiderhamn.classloader.leak.prevention.ClassLoaderLeakPreventorListener</listener-class>
    </listener>
    

相关文章

网友评论

      本文标题:maven结合tomcat实现自动部署

      本文链接:https://www.haomeiwen.com/subject/vnzeoftx.html