Eclipse WTP 保存时重加载的解决方法 JavaRebel

来源:互联网 发布:全程hr人力资源软件 编辑:程序博客网 时间:2024/05/19 13:20

在第19届Jolt大奖中,JavaRebel荣获了生产力大奖,它由ZeroTurnaround公司推出。JavaRebel是一个JVM插件(-javaagent),能够即时重新加载Class,而不需要重新部署应用或者重启容器,以节约时间。

  JavaRebel下载地址为:http://www.zeroturnaround.com/javarebel/ ,需要注意的一点是JavaRebel需要License,免费下载的带有evaluation license,可以使用30天。

我们先来看下它支持的JVM有:(以下数据来自http://www.zeroturnaround.com/javarebel/ 网站)

Sun Java 1.4.x, 5.x, 6.x
JRockit JVM 8.1sp6 or later
JRockit JVM 9.x 1.5.0_06 or later
JRockit JVM 1.6.x
IBM J9 1.4.x, 5.x, 6.x
Apple MRJ 1.4.x, 5.x, 6.x
支持的容器:

IBM WebSphere 6.x
BEA Weblogic 8.x, 9.x, 10.x
GlassFish 2.x
Oracle OC4J 9.x, 10.x
Tomcat 4.x, 5.x, 6.x
JBoss 3.x, 4.x, 5.x
Jetty 5.x, 6.x, 7.x
Caucho Resin 3.0.x
Jonas 4.x
Equinox OSGi (including Eclipse plugins)
IntelliJ IDEA plugins
Atlassian Confluence plugins
JavaRebel能与下面的框架无缝集成:

Java EE
Java standalone apps
Groovy
Spring
Struts2
Google Guice
Tapestry 4
  现在大家在开发Web程序时基本上都在使用Eclipse的作为开发工具,JavaRebel支持Eclipse WTP,但是配置稍有点复杂,下面就来介绍下如何配置。

  首先将下载的javarebel-2.0.zip解压到本地目录,拷贝javarebel.jar到C:/(可为其它目录)以备后用。

  下面以Tomcat 6.0为例介绍如何配置服务器,启动Eclipse,选择Run --> Run Configurations,如下图所示:

 


  选择(x)=Arguments在VM arguments框内容的最后加入下列参数(注意修改javarebel.jar的存放路径):

  -noverify -javaagent:c:/javarebel.jar

 


Apply配置,并点击“运行”按钮,在Console中可以看到有如下输出,则表明JavaRebel在WTP中已经安装成功了:

 


  然后,在Server视图中双击服务器名称,打开Tomcat 6.0服务器属性设置页,设置Publishing方式为Automatically publish when resources change,如下图:

 


最后,选择Modules页,关闭所有Module的Auto Reload,如下图:

 


  至此,所有配置完成,重新启动Tomcat服务器,修改class后,Tomcat不会进行Publishing,但结果会发生变化。大家去试试吧~~

  随便说句,JavaRebel也支持对像EAR/WAR/JAR等文件的class动态加载,有兴趣的读者可以去参考文档。

转:http://wing123.javaeye.com/blog/378937