惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
博客园 - 聂微东
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
罗磊的独立博客
量子位
大猫的无限游戏
大猫的无限游戏
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Engineering at Meta
Engineering at Meta
博客园 - 叶小钗
V
Visual Studio Blog
L
LangChain Blog
MyScale Blog
MyScale Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42

博客园 - otto

合理使用Module分割项目以及对Module的使用 自定义真正可重用的Flex组件 hp的笔记本真垃圾 关于fusionchart的使用 RIA 过渡期的选择 flex3很强大 完美封装了fusionchart eclipse 突然不能自动编译了 FusionCharts 的中文问题 Spring 依赖的Jar包简介 java5, java6 的新特性 我的firefox插件,留此存照 Spring AOP中文教程 [转]J2EE架构的6个最佳实践 使用struts+spring+hibernate组装你的web应用架构 Java开源项目Hibernate包作用详解(转) oracle中的树型查询 blog与生活 尝试
java web应用程序的热部署
otto · 2010-12-31 · via 博客园 - otto

热部署对于程序开发的好处就不用多说了。

这里记录一下自己的使用过程:

1.myeclipse的年代,那时候通过myeclipse新建的web项目,以debug方式启动,可以获得修改java类中的方法体和jsp页面立即生效的功能支持,这是纯eclipse所没有的。

2.后来发现了jrebel可以获得新增java类和方法也无需重启应用服务器即可生效的功能,当然这个功能不完善,有缺陷,比如内存占用变大,加载变慢,间或失效等。

3.随着eclipse的升级,推出了JEE版本的eclipse,也就逐渐淘汰了myeclipse,但是JEE版本的eclipse和tomcat配合,即便使用debug模式启动,修改java类还是会导致整个应用的重新加载,这是不能忍受的,这时候,发现了jetty配合eclipse可以完美的实现热加载,即改即用,很方便。

4.随后又发现了一个叫dcevm的东西,很好的支持了新增java类和方法也无需重启应用服务器即可生效,比jrebel完美。到此,一切都圆满了:)

5.或者还有更好的方式我没有发现?

ps:发现tomcat 6.20以后的版本机制不一样,修改jsp都被缓存,导致修改刷新不生效,只能用以前的版本,不知为何。。。不过,我现在基本也不用tomcat了