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

推荐订阅源

T
The Blog of Author Tim Ferriss
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
有赞技术团队
有赞技术团队
J
Java Code Geeks
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
B
Blog RSS Feed
博客园_首页
Y
Y Combinator Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
M
MIT News - Artificial intelligence
雷峰网
雷峰网
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Help Net Security
P
Proofpoint News Feed
B
Blog
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 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了