说说为何要热部署:
你是不是经常做项目,改动了代码,然后不得不重启服务器。 要是碰到公司足够吝啬,项目足够庞大,你会发现大量的时间浪费在这上面。
(我们一直在努力,最大效率的开发出一组组产品,直到做项目跟民工砌砖一样简单。还好这还需要一段时间,而我们庆幸我们吃饭的技能还没有泛滥至此,不过我看有这趋势。)—跑题
在2002年的时候,Sun在Java 1.4的JVM中引入了一种新的被称作HotSwap的实验性技术,并再此后一直着力于相关研究,发现这是一个复杂而低回报的东西。
目前,我们最常用到的热部署:
Tomcat:
配置:在${tomcat_home}\conf\server.xml
<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">
这里的autoDeploy 设置为true,即自动热部署,而你只需体验他带来的愉悦:
你可以边修改代码,不要重启即查看最新结果;甚至对一些简单的war应用,可以直接丢到webapp下,不需要重启tomcat,自动拆包;
当然,tomcat只能对部分代码是可以轻松完成热部署的,随着项目的复杂度,我们需要更好的热部署工具。
Jrebel:
此时风头正热的jrebel,赶上了这趟车(不知道是不是拿到风投了,到处做广告),他是收费的,试用一个月,不过对scala语言放宽到了1年,可以申请。地址:
http://sales.zeroturnaround.com/
(题外话:像一度娘就搜到破解的行为,本人是很不赞同的)
jreble 有自己的简介:
图1-1: 循环:改变--重新部署等待--查看结果--改变
1-1
图1-2: 调查结果,1小时内,有多长时间浪费在重新部署之上
1-2
jrebel支持:
IDE:
Eclipse,IntellijIDEA,NetBeans,Oracle,Rational
buildTool:
Maven,ANT
Containers:
Tomcat,JBoss,Jetty,Websphere,resin,SAP,Mulesoft
frameworks:
spring,hibernate,jsf,struts,velocity,wicket
当前最新版本4.6.1
官方地址:http://zeroturnaround.com/
查看如何安装jrebel,这个是我非常鄙视他们的一个地方,不能做的如同ant一样,简洁配置,而且从第一个版本到现在变化太多,以至于各种泛滥错误的资料在网络上。
下篇,我讲jrebel的安装,并且我讲上传官方PPT文档,英文非常简单,就不翻译了。