无需重新部署Eclipse和Tomcat即可进行更改

他们说,由于应用程序服务器过大,Java的开发速度很慢–您必须重新部署应用程序才能看到所做的更改。 使用PHP,Python等脚本语言时,可以“保存并刷新”。 这个法定问题总结了这个“神话”。

是的,这是一个神话。 您也可以在Java Web应用程序中使用“保存并刷新”。 JVM具有所谓的HotSwap –在运行时替换类。 因此,您只需要在调试模式下启动服务器(在调试模式下可以使用hotswap功能)并复制类文件。 使用Eclipse,可以用(至少)两种方法完成:

  • WTP –配置“部署程序集”以将已编译的类发送到WEB-INF / classs
  • 用于eclipse的FileSync插件–配置它以将已编译的类发送到绝对路径(您的tomcat所在的位置)

我已经对如何在stackoverflow答案中使用它们进行了更广泛的描述。

现在,当然有一个问题。 您不能交换结构更改。 如果添加新类,新方法,更改方法参数,添加字段,添加批注,则这些批注不能在运行时交换。 但是“保存并刷新”通常涉及简单地更改方法中的一行。

结构更改很少见,在某些情况下,无论如何都意味着必须重新初始化整个应用程序。 您也不能热交换配置–您的应用程序通常是在某些(.xml)文件中配置的,因此,如果更改它,则必须重新部署。 但这又是一个很普通的情况-您的应用不能在运行时仅加载其引导配置。

更加常见的是html&css更改。 如果没有“保存并刷新”,您就无法生存。 但这工作得很好– Servlet容器刷新JSP(除非您处于生产模式),并且每种视图技术都有一个选项来动态选择模板文件。 这与JVM无关。

因此,您几乎可以像使用任何脚本语言一样快地使用Java开发Web应用程序。

最后,我必须提到一个标语为“停止Java中的重新部署”的产品-JRebel 。 他们创造了一个非常好的产品,它是改进的HotSwap –它也可以交换结构更改。 并支持许多框架。 功能列表看起来非常不错。 虽然这是一个很棒的产品,但我不会说这是必须的。 没有它,您可以非常高效地工作。

但是,无论是HotSwap还是JRebel,您都必须确保不要重新部署以反映更改。 这是真正的生产力杀手。

参考: Bozho的技术博客上的JCG合作伙伴 Bozho进行了更改,无需重新部署Eclipse和Tomcat

相关文章 :

翻译自: https://www.javacodegeeks.com/2011/11/change-without-redeploying-with-eclipse.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值