后台-maven项目tomcat热部署

之前maven打jar包,在服务器nohup java -jar部署项目,这样虽然方便但不符合我的需求。打个包重新发布什么的,现今迭代这么快的大环境下,似乎有点不适用了,想办法改进一下。app现在慢慢开始分补丁包热部署了,后台更应该呢。

  • 本文章适用于tomcat的7.x ,8.x, 9.x版本
  • 不用maven自带tomcat
  • 自动发布:解决手动远程服务器部署项目问题
  • 热部署:war自动解压,非特殊情况,无需重启tomcat

总之,使用maven的自动部署功能可以很方便的将maven工程自动部署到远程tomcat服务器,节省了大量时间。

首先得创建maven工程
后台-maven项目tomcat热部署_第1张图片

后台-maven项目tomcat热部署_第2张图片

后台-maven项目tomcat热部署_第3张图片

后台-maven项目tomcat热部署_第4张图片
  • Maven规定,所以必须创建以下几个Source Folder
    src/main/resources
    src/main/java
    src/main/webapp
    添加以上的Source Folder
    新建文件夹右键选中Build Path->Use as Source Folder
    分别修改输出路径为
    src/main/resources ---------> target/classes
    src/main/java ---------> target/classes
后台-maven项目tomcat热部署_第5张图片

后台-maven项目tomcat热部署_第6张图片

后台-maven项目tomcat热部署_第7张图片
  • 工程新建成功


    后台-maven项目tomcat热部署_第8张图片
配置tomcat
  • 配置tomcat manager
    编辑远程tomcat服务器下的conf/tomcat-users.xml,在末尾增加(其实只要拉到文件末尾,去掉注释改一下就可以了)
    如果已经有了相关用户信息信息,就不用添加了,但是权限要加上。
   
   
   
   

然后在浏览器中输入http://serverip:port/manager/html,(我这边是本地)此时会弹出要求输入用户名和密码对话框,输入manager-gui对应的用户和密码登录管理控制台(其中serverip为服务器ip,如果服务器在本地就是localhost或者127.0.0.1,端口为tomcat端口,默认8080)。以此确认manager是否配置正确。正确结果示例如下:

后台-maven项目tomcat热部署_第9张图片

  • 然后配置一波pom.xml
    我这里配了两个启动,一个Application一个走tomcat,请看第二个。注意tomcat用户名密码写正确,然后为true不能遗漏。
  
    maintenanceServer
    
        
            org.springframework.boot
            spring-boot-maven-plugin
            
                com.app.Application
            
        
         
           org.apache.tomcat.maven 
           tomcat7-maven-plugin 
           2.2 
            
                http://127.0.0.1:8080/manager/text
                tomcat
                tomcat
                true
                /maintenanceServer
            
       
    
  
  • 进行部署
    如果是第一次部署,运行mvn tomcat7:deploy进行自动部署(对于tomcat8,9,也是使用tomcat7命令);
    如果是更新了代码后重新部署更新,运行mvn tomcat7:redeploy,如果路径在tomcat服务器中已存在并且使用mvn tomcat7:deploy命令的话,上面的配置中一定要配置true,不然会报错。
    执行完上面步骤后你会发现target文件夹下war生成,并且同步upload到tomcat\webapps目录下。
后台-maven项目tomcat热部署_第10张图片

后台-maven项目tomcat热部署_第11张图片

往后有修改,就可以直接执行mvn clean install ,然后执行mvn tomcat7:redeploy,就这么轻松,自动发布到远程服务器上。
啊,对了,如果访问ip:host/manager/html页面报403访问受限时要修改
/webapps/manager/META_INF/context.xml文件,将文件中对访问的来源受限设置注释,如下:


  

然后直接刷新页面就行了,无需重启tomcat。

远程自动部署结果
后台-maven项目tomcat热部署_第12张图片

后台-maven项目tomcat热部署_第13张图片

你可能感兴趣的:(后台-maven项目tomcat热部署)