`
wing123
  • 浏览: 796803 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Eclipse中配置动态加载Class的JVM插件--JavaRebel

阅读更多

  在第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动态加载,有兴趣的读者可以去参考文档。

  • 大小: 119.3 KB
  • 大小: 134.9 KB
  • 大小: 101 KB
  • 大小: 139.4 KB
  • 大小: 89.3 KB
分享到:
评论
1 楼 何枫abc 2010-12-30  
问一下"修改class后"是什么意思啊???

相关推荐

    ant-eclipse-jvm1.2-1.0.jar.zip

    在实际开发中,开发者可能需要在Eclipse中配置Ant构建路径,将这个JAR文件添加到构建路径中,以便在Eclipse内直接运行Ant任务,如编译、打包和测试。这极大地提高了开发效率,因为无需离开Eclipse去执行外部的Ant...

    nginx-upstream-jvm-route-1.15

    在提供的压缩包文件"nginx-upstream-jvm-route-master"中,可能包含了源代码、配置示例、安装指南或者使用文档,帮助用户理解和实现这一特性。用户需要按照文档的指示进行配置和部署,以便在Nginx 1.15中成功使用...

    javareble 热加载jvm插件

    JavaRebel是一款强大的JVM热加载插件,它极大地提升了Java开发者的生产力,尤其是在进行Web应用编程时。这款工具允许开发者在代码修改后立即看到结果,而无需重新启动服务器或重新部署应用程序。这一特性显著减少了...

    JVM基础-超清文字版.pdf

    - 类装载器:负责加载类文件到JVM中,分为引导类加载器、扩展类加载器和应用类加载器。 - 运行时数据区:包括方法区、堆、栈、本地方法栈和程序计数器。 - 执行引擎:解释执行字节码或通过即时编译器(JIT)将其...

    JVM实战-JVM类加载机制案例分析

    在实验过程中遇到了一些小问题,如类加载路径配置错误导致的类加载失败等问题,这些问题最终通过仔细检查配置文件和查阅相关文档得到了解决。未来将继续深入学习JVM的工作原理,探索更多高级特性,并努力提高自己的...

    JVM图解-JVM指令-JVM原型图.rar

    在这个压缩包中,"JVM图解.png"可能是对JVM内部结构的可视化表示,"JVM图解"可能是一个详细的文档,解释了JVM的工作原理,而"JVM指令手册 中文版"则提供了JVM可执行的所有指令的详细信息。下面,我们将深入探讨JVM的...

    jvm 加载class文件

    Java作为一种动态性极强的解释型编程语言,在程序运行时,Java虚拟机(JVM)负责将编译生成的`.class`文件加载到内存中进行执行。在Java环境中,每个类(Class)以及接口(Interface)都会对应一个`.class`文件,...

    eclipse-jee-2018-09-win32-x86_64.zip

    此版本被称为Eclipse SimRel(Simultaneous Release),意味着它是在Eclipse年度统一发布计划中的一部分,包含了多种工具和插件的同步更新。 在Eclipse的2018-09版本中,重点知识点包括: 1. **Java EE支持**:...

    eclipse-jee-2019-03-R-win32-x86-64.zip

    5. `eclipse.ini`:这是Eclipse的启动配置文件,用于设置JVM参数,如内存分配、启动路径等。 此外,"送使用教程"表明,可能还附带了帮助新手快速上手Eclipse的指南或文档,这对于初学者来说非常有帮助。这些教程...

    动态编译字符串成java,并且添加class到jvm

    在Java编程中,动态编译字符串成Java代码并将其加载到JVM(Java虚拟机)是一种高级技巧,常用于运行时代码生成、元编程或插件系统等场景。这一技术的核心在于利用Java的反射API和Java Compiler API。下面将详细阐述...

    JVM--字节码和类的加载篇1

    "JVM--字节码和类的加载篇1"这个标题暗示了我们将深入理解JVM如何处理字节码以及类加载的过程。 在Java的Class文件中,数据类型扮演着基础的角色。描述符是用来表示各种数据类型的,包括基本数据类型如byte、char和...

    深入jvm内核-原理、诊断与优化教学视频

    1、java虚拟机的基本介绍。 2、字节码的执行 3、常用的jvm参数配置 4、算法和种类 5、gc参数配置 6、类加载器 7、性能监控工具 8、jvm堆栈分析

    eclipse-java-2023-09-R-win32-x86-64.zip

    在首次启动时,用户需要配置工作空间,这是Eclipse保存项目和设置的地方。 5. **Eclipse插件生态**: Eclipse的一大优势是其强大的插件系统。通过插件,用户可以扩展IDE的功能,例如,安装Mylyn可以提高任务管理效率...

    eclipse-java-2023-09-R-linux-gtk-x86-64.tar.gz

    在压缩包子文件的文件名称列表中提到的“eclipse”,很可能是指解压后将得到Eclipse IDE的根目录,包含了运行Eclipse所需的所有文件和配置。通常,这些文件会包括一个名为“eclipse”的可执行文件,它是启动Eclipse ...

    jvm-npm, 适用于JVM的兼容CommonJS模块加载器.zip

    jvm-npm, 适用于JVM的兼容CommonJS模块加载器 JVM上Javascript运行时中的NPM模块加载支持。 实现基于 http://nodejs.org/api/modules.html,应该完全兼容。 当然,不包括完整的node.js API,因此不要期望依赖于它的...

    eclipse-cpp-2018-09-linux-gtk.tar.gz

    4. `eclipse.ini` 文件:这是Eclipse的启动配置文件,你可以在这里设置JVM参数、启动项和工作空间路径等。 5. `config.ini` 文件:配置Eclipse的运行时环境,如OSGi框架的设置。 在安装和使用这个Eclipse版本时,你...

    JAVA热加载eclipse插件

    本文将详细介绍JAVA热加载Eclipse插件的原理、使用方法以及如何在JDK中进行配置。 1. **热加载原理** 热加载的核心是监视和替换运行时的类文件。当开发者修改了源代码并保存后,插件会检测到变化,并在不中断程序...

    JVM-SANDBOX基于JVM的实时无侵入AOP框架容器

    JVM-SANDBOX通过动态代理技术实现了这一目标,允许开发者在运行时添加新的切面或者修改已有行为,提高了代码的可维护性和灵活性。 在JVM-SANDBOX中,关键概念包括: 1. **沙箱(Sandbox)**:这是一个安全的执行...

    JVM加载class文件的原理机制

    JVM加载class文件的原理机制是Java中的核心机制之一,由于Java中的所有类必须被装载到JVM中才能运行,这个装载工作是由JVM中的类装载器完成的。类装载器所做的工作实质是把类文件从硬盘读取到内存中。 类加载机制 ...

Global site tag (gtag.js) - Google Analytics