在第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
分享到:
相关推荐
在实际开发中,开发者可能需要在Eclipse中配置Ant构建路径,将这个JAR文件添加到构建路径中,以便在Eclipse内直接运行Ant任务,如编译、打包和测试。这极大地提高了开发效率,因为无需离开Eclipse去执行外部的Ant...
在提供的压缩包文件"nginx-upstream-jvm-route-master"中,可能包含了源代码、配置示例、安装指南或者使用文档,帮助用户理解和实现这一特性。用户需要按照文档的指示进行配置和部署,以便在Nginx 1.15中成功使用...
JavaRebel是一款强大的JVM热加载插件,它极大地提升了Java开发者的生产力,尤其是在进行Web应用编程时。这款工具允许开发者在代码修改后立即看到结果,而无需重新启动服务器或重新部署应用程序。这一特性显著减少了...
- 类装载器:负责加载类文件到JVM中,分为引导类加载器、扩展类加载器和应用类加载器。 - 运行时数据区:包括方法区、堆、栈、本地方法栈和程序计数器。 - 执行引擎:解释执行字节码或通过即时编译器(JIT)将其...
在实验过程中遇到了一些小问题,如类加载路径配置错误导致的类加载失败等问题,这些问题最终通过仔细检查配置文件和查阅相关文档得到了解决。未来将继续深入学习JVM的工作原理,探索更多高级特性,并努力提高自己的...
在这个压缩包中,"JVM图解.png"可能是对JVM内部结构的可视化表示,"JVM图解"可能是一个详细的文档,解释了JVM的工作原理,而"JVM指令手册 中文版"则提供了JVM可执行的所有指令的详细信息。下面,我们将深入探讨JVM的...
在压缩包子文件的文件名称列表中提到的“eclipse”,很可能是指解压后将得到Eclipse IDE的根目录,包含了运行Eclipse所需的所有文件和配置。通常,这些文件会包括一个名为“eclipse”的可执行文件,它是启动Eclipse ...
此版本被称为Eclipse SimRel(Simultaneous Release),意味着它是在Eclipse年度统一发布计划中的一部分,包含了多种工具和插件的同步更新。 在Eclipse的2018-09版本中,重点知识点包括: 1. **Java EE支持**:...
Java作为一种动态性极强的解释型编程语言,在程序运行时,Java虚拟机(JVM)负责将编译生成的`.class`文件加载到内存中进行执行。在Java环境中,每个类(Class)以及接口(Interface)都会对应一个`.class`文件,...
5. `eclipse.ini`:这是Eclipse的启动配置文件,用于设置JVM参数,如内存分配、启动路径等。 此外,"送使用教程"表明,可能还附带了帮助新手快速上手Eclipse的指南或文档,这对于初学者来说非常有帮助。这些教程...
在Java编程中,动态编译字符串成Java代码并将其加载到JVM(Java虚拟机)是一种高级技巧,常用于运行时代码生成、元编程或插件系统等场景。这一技术的核心在于利用Java的反射API和Java Compiler API。下面将详细阐述...
在首次启动时,用户需要配置工作空间,这是Eclipse保存项目和设置的地方。 5. **Eclipse插件生态**: Eclipse的一大优势是其强大的插件系统。通过插件,用户可以扩展IDE的功能,例如,安装Mylyn可以提高任务管理效率...
"JVM--字节码和类的加载篇1"这个标题暗示了我们将深入理解JVM如何处理字节码以及类加载的过程。 在Java的Class文件中,数据类型扮演着基础的角色。描述符是用来表示各种数据类型的,包括基本数据类型如byte、char和...
1、java虚拟机的基本介绍。 2、字节码的执行 3、常用的jvm参数配置 4、算法和种类 5、gc参数配置 6、类加载器 7、性能监控工具 8、jvm堆栈分析
jvm-npm, 适用于JVM的兼容CommonJS模块加载器 JVM上Javascript运行时中的NPM模块加载支持。 实现基于 http://nodejs.org/api/modules.html,应该完全兼容。 当然,不包括完整的node.js API,因此不要期望依赖于它的...
8. **开发流程**:在Eclipse中,开发者可以创建Java项目,编写源代码,使用内置的代码提示和自动完成功能,然后通过JDK的编译器进行编译,最后通过Eclipse的内置调试器进行测试和调试。 9. **Java 8新特性**:除了...
4. `eclipse.ini` 文件:这是Eclipse的启动配置文件,你可以在这里设置JVM参数、启动项和工作空间路径等。 5. `config.ini` 文件:配置Eclipse的运行时环境,如OSGi框架的设置。 在安装和使用这个Eclipse版本时,你...
本文将详细介绍JAVA热加载Eclipse插件的原理、使用方法以及如何在JDK中进行配置。 1. **热加载原理** 热加载的核心是监视和替换运行时的类文件。当开发者修改了源代码并保存后,插件会检测到变化,并在不中断程序...
2. **工作区**:在Eclipse中,工作区是存储项目和配置信息的地方,用户可以有多个独立的工作区。 3. **插件**:Eclipse基于插件架构,允许扩展各种功能,如Java开发工具(JDT)、透视图(Perspectives)、视图...
JVM-SANDBOX通过动态代理技术实现了这一目标,允许开发者在运行时添加新的切面或者修改已有行为,提高了代码的可维护性和灵活性。 在JVM-SANDBOX中,关键概念包括: 1. **沙箱(Sandbox)**:这是一个安全的执行...