如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境

网上大多都是打包war然后让tomcat自动reload来发布,这个是没错,发布test/uat/prod环境都是这样的。but,对于我们平时的开发,项目大了reload一下不是几分钟就可以完成的,所以需要一个快速便捷的deploy方式来满足我们平时的需要。


本文写的是我的解决方式,供大家参考,探讨和改进。


Tomcat(apache-tomcat-7.0.42)

 

conf/server.xml 

添加项目docBase:

...

false"/>

false"/>

reloadable设为false,hot deploy是基于jrebel所以不需要每次reload。

 

bin/startup.cmd

设置远程debug,端口8001

SET JAVA_OPTS=%JAVA_OPTS% -Xdebug  -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n

设置jrebel安装目录版本JRebel 5.5.2,lic破解版

set REBEL_HOME=D:\app\jrebel

SET JAVA_OPTS=%JAVA_OPTS% -javaagent:%REBEL_HOME%\jrebel.jar -Drebel.jersey_plugin=true

 

Eclipse(Indigo)

远程debug配置

如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境_第1张图片

如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境_第2张图片

 

配置ant脚本利用ant脚本自动化运行maven命令,或者直接copy代码到tomcat的项目目录,下面会具体说明。

新建一个单独的ant项目

如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境_第3张图片

view里加入build.xml文件

如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境_第4张图片

引入ant-contrib.jar插件包里面有for之类的taskdef,这里要从ant build...classpath里加入而不是直接从项目的property里加入

如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境_第5张图片

如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境_第6张图片

Build.xml思路

1. Mvn install依赖的module,然后mvn package(war)项目然后再unzip依赖module(此时已经包含最新的update)tomcatdocBase目录

2. 直接copy html/js/css等静态文件,compile java文件到tomcatdocBase目录

 

参考

param="module" delimiter=",">

  options="" goal="package" resultproperty="maven.build.result"/>

 

param="module" delimiter=",">

 

 

           dir="@{basedir}" resultproperty="@{resultproperty}">

 

开发基本流程

1.修改js,java文件

2.ant build.xml

3.tomcat hotdeploy class file (jrebel)

4.test

5.debug if need

你可能感兴趣的:(如何搭建基于tomcat的Maven多modules项目的hot deploy开发快速环境)