我们在开发 java web工程时,经常在修改了java类时需要重新启动Tomcat才能使java类生效,如果修改的很频繁,则需要不停的重启,很是影响工作效率,有没有一种方法可以解决这个问题?
熟悉classload的小伙伴们都知道,只要在修改了java时可以热加载就可以解决这个问题。
Tomcat对于热部署有部分支持:仅仅修改方法体的内容可以不用重启Tomcat,如果新增了类或方法时则必须重启。需要修改 server .xml的reloadable=”fasle”,reloadable的参数值默认为true。
但是新增类、方法,修改方法名称在开发时不可避免,Tomcat的reloadable支持仍然十分有限,有没有一款软件可以完美解决这个问题?答案是有的。
JRebel是一款JAVA 虚拟机 插件,它使得 JAVA程序员 能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。 就是我们常说的热部署 。
JRebel有两种使用场景:
-
开发时
-
运行时
开发时, Eclipse 使用JRebel热部署
1.安装JRebel插件,在Eclipse Marketplace中搜索JRebel并安装
2.添加 license
JRebel是一款收费软件,需要到官方上申请license(如果需要免费版的,私信我“JRebel免费版”),网址:
打开Help->JRebel->Configuration,如下界面:
复制license
3.配置你的项目使用JRebel,如下测试用的项目是testweb
至此已经配置完成,在testweb工程中添加、修改任意的java类,都可以被热部署,再也不用频繁的重启了。
运行时,Tomcat集成JRebel
开发时通过eclipse的JRebel插件来实现工程的热部署,如果在 测试环境 ,甚至是生产环境如需使用JRebel来实现热部署,也很简单。
1.复制javarebel.jar、jrebel.jar、JavaRebel.log到任意目录
2.配置catalina.bat或catalina.sh
启动Tomcat时看到如下界面说明配置成功
现在官网上只能下载到eclipse插件版的免费试用,如果需要可以直接对tomcat支持的jrebel,请私信我“JRebel免费版”。