`

Jrebel + eclipse + tomcat 用于热部署 的实践总结

阅读更多
1、用eclipse 下载 http://update.zeroturnaround.com/update-site


2、接着替换 your eclipse   location\plugins\org.zeroturnaround.eclipse.embedder_6.0.0.RELEASE-201410311652\jrebel ,即eclipse所在目录的plugins 替换jrebel里面的jar包。


3、去eclipse 中注册jrebel ,替换文件是jrebel.lic,提示注册成功

以上部分是注册部分


1、双击servers 下面的某个tomcat服务,点击overview,需要配置如下参数:

a、 Server Locations选择 User Tomcat installation

b、 Publishing中选择 Never publish automatically

c、 Timeouts中 Start设置成 1000或更大

d、 JRebel Integration中两个复选框都选中

e、选择Open lauch configuration,在(x)=Arguments选项卡中增加 配置VM arguments参数:

-noverify

-Drebel.struts2-plugin=true

-Drebel.spring_plugin=true

-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m



2、双击servers中下面某个tomcat服务,点击modules,添加你需要的module。 需要add external web module.注意document base 需要填写的是程序的webapp的位置,而非tomcat下编译的位置。如:


your project location\xxxxxx\WebApps


Path为要访问的程序web名


3、其次程序上右击选择jrebel,advanced properties.当然了,需要enable 一下jrebel。可以重新生成一下rebel文件。


4、至此,程序可以达到热部署了。


以上是使用插件模式。(一般没什么用)

-noverify
-javaagent:D:\xxxx\xxxxx\jrebel.jar
-Drebel.dirs=your project location\xxxx\WebApps\WEB-INF\classes,your project location\xxxx\WebApps\WEB-INF\classes\config,your project location\xxxxx\WebApps
-Drebel.spring_plugin=true
-Drebel.aspectj_plugin=true
-Drebel.struts2_plugin=true
-Drebel.hibernate_plugin=true
-Drebel.hibernate_validator_plugin=true

或者把这些加到tomcat的启动参数里面

最后要注意的是tomcat的modules中的某个module 的auto reload参数要配置成disabled


此方法经实践可用
0
0
分享到:
评论
2 楼 ernestyoung 2015-01-07  
string2020 写道
JRebel: Class 'java.io.ObjectStreamClass$FieldReflector' could not be processed:
java.lang.RuntimeException: java.io.IOException: invalid constant type: 15
	at org.zeroturnaround.bundled.javassist.CtClassType.getClassFile2(JRebel:203)
	at org.zeroturnaround.bundled.javassist.CtClassType.subtypeOf(JRebel:303)
	at org.zeroturnaround.bundled.javassist.CtClassType.subtypeOf(JRebel:318)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.TypeData$TypeName.update(JRebel:274)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.TypeData$TypeName.setType(JRebel:203)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.TypeData.setType(JRebel:46)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.Tracer.doInvokeMethod(JRebel:825)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.Tracer.doOpcode148_201(JRebel:620)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.Tracer.doOpcode(JRebel:102)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:182)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)




启动一直报错
这个问题应该是:  META-INF/INDEX.LIST 在你的jar列表中有一些是无效的。

1 楼 string2020 2014-11-20  
JRebel: Class 'java.io.ObjectStreamClass$FieldReflector' could not be processed:
java.lang.RuntimeException: java.io.IOException: invalid constant type: 15
	at org.zeroturnaround.bundled.javassist.CtClassType.getClassFile2(JRebel:203)
	at org.zeroturnaround.bundled.javassist.CtClassType.subtypeOf(JRebel:303)
	at org.zeroturnaround.bundled.javassist.CtClassType.subtypeOf(JRebel:318)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.TypeData$TypeName.update(JRebel:274)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.TypeData$TypeName.setType(JRebel:203)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.TypeData.setType(JRebel:46)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.Tracer.doInvokeMethod(JRebel:825)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.Tracer.doOpcode148_201(JRebel:620)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.Tracer.doOpcode(JRebel:102)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:182)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)
	at org.zeroturnaround.bundled.javassist.bytecode.stackmap.MapMaker.make(JRebel:192)




启动一直报错

相关推荐

    Maven+jetty+jrebel+m2eclipse+eclipse搭建struts2开发环境

    在现代Java开发中,构建工具、应用服务器、热部署工具以及IDE的集成是提升开发效率的关键因素。"Maven+Jetty+JRebel+m2eclipse+Eclipse搭建Struts2开发环境"这个主题,正是围绕这些关键组件展开,旨在为开发者提供一...

    ecilipse+tomcat+jrebel实现热部署

    Eclipse+Tomcat+JRebel 实现热部署 Eclipse、Tomcat 和 JRebel 是三个常用的开发工具,其中 Eclipse 是一个集成开发环境(IDE),Tomcat 是一个 Web 服务器,而 JRebel 是一个热部署工具。热部署是指在不重新编译和...

    jrebel6.3.3+eclipse

    - **合理使用热部署**:虽然实时更新方便,但过度依赖可能会影响代码质量,适时的完整重启有助于发现潜在问题。 - **定期更新 JRebel**:随着新版本发布,JRebel 不断优化和扩展支持,及时升级以获取最新功能和...

    tomcat远程debug与jrebel热部署文件

    本文将深入探讨如何配置Tomcat的远程调试以及利用JRebel实现热部署,这将极大地提高开发效率。 首先,Tomcat远程调试允许开发者在不重启服务器的情况下定位并修复代码中的问题。这对于大型项目和持续迭代的环境尤其...

    Eclipse4.5.2+maven3.3.9+tomcat7+JRebel6.4.3实现热部署

    Eclipse Mars.2 Release (4.5.2),maven 3.3.9,tomcat7,JRebel6.4.3,包内包含JRebel与详细使用说明,纯手写,且亲测可用,eclipse,maven,tomcat可自行下载,JRebel为破解版,码字辛苦,望各位大神给1分辛苦费

    Eclipse中使用tomcat 热部署 Jrebel6.4.3 不需安装插件

    Eclipse中使用tomcat 热部署 Jrebel6.4.3 不需安装插件

    Jrebel 基于TOMCAT实现项目修改热部署

    (2) **配置 JRebel**: 在你的项目根目录下创建一个 `rebel.xml` 文件,这是 JRebel 配置的核心,用于指定需要热部署的资源路径。例如: ```xml ``` 请注意替换 `/path/to/your/project` 为...

    jrebel的Eclipse插件

    JRebel是一款强大的Java开发工具,...总结,JRebel Eclipse插件是Java开发者提高效率的利器,通过实时代码热部署和资源管理,让开发过程更加高效。了解并熟练使用JRebel,可以显著提升开发体验,减少不必要的调试时间。

    在Eclipse中Tomcat和Maven插件相互配合进行热部署

    这个过程涉及到了源码管理和自动化构建工具Maven,以及集成开发环境Eclipse中的服务器适配器Tomcat,它们共同助力实现项目的热部署,即代码修改后无需重启服务器即可看到更新效果。 首先,Maven是一个强大的项目...

    eclipse修改代码后热部署(不需要重启服务

    在Eclipse中,实现热部署的一种常见方式是通过插件JRebel。JRebel是一款商业的热部署工具,它能够实时反映代码更改,避免了反复重启服务器的过程。下面是使用JRebel进行热部署的步骤: 1. **安装JRebel插件**:访问...

    maven-eclipse-tomcat热部署

    【 Maven 热部署在 Eclipse 和 Tomcat 中的实践】 Maven 是一个强大的构建工具,广泛用于Java项目管理,它负责构建、依赖管理和项目信息管理。在开发Web应用程序时,结合Eclipse集成开发环境(IDE)和Tomcat服务器...

    Tomcat热部署配置说明及工具

    本篇文章将详细介绍如何配置Tomcat实现热部署,并提及一种常用的热部署工具——JRebel。 首先,我们来理解什么是热部署。在传统的开发流程中,每当代码发生变化,都需要停止服务器,部署新的应用,然后重新启动...

    jrebel热部署工具-eclipse

    标题中的"JRebel热部署工具-eclipse"指的就是将JRebel这个神器与Eclipse集成,以提升Java Web开发的效率。Eclipse作为广泛使用的Java集成开发环境(IDE),在开发者社区中拥有极高的声誉。然而,Eclipse默认的机制...

    tomcat 热部署 hot deploy Jrebel 加大JVM内存

    总结起来,这个主题涵盖了Tomcat的热部署策略,Jrebel工具的使用以及JVM内存调优,这些都是Java开发中提高生产力和解决性能问题的关键技术。通过合理运用这些知识,开发者可以更高效地调试和测试代码,同时确保系统...

    eclipse中的tomcat插件

    5. **热部署**:使用第三方插件如JRebel,可以在不重启服务器的情况下,实现类和资源的热替换,提升开发效率。 总之,Eclipse的Tomcat插件为开发者提供了一个集成化的环境,使得Tomcat服务器的管理和应用部署变得...

    让独立部署的tomcat也支持热部署(不依赖Eclipse或MyEclipse)

    在"独立tomcat部署"的场景下,JRebel提供了一种高效的方式,使得开发者在不依赖Eclipse或MyEclipse这样的IDE时也能享受热部署的便利。只需按照上述步骤操作,即使是在独立的Tomcat服务器上,也能轻松实现代码修改后...

    jrebel for idea2017热部署

    总结,JRebel for IDEA 2017的热部署功能极大地提升了Java开发的效率,减少了因为反复重启应用而浪费的时间。正确配置和使用JRebel,将让你的开发过程更加流畅,从而提升整个团队的工作效率。通过不断实践和掌握...

    Tomcat 热部署

    【描述】:Tomcat热部署 Tomcat的热部署功能使得开发人员能够在开发过程中实时看到代码更改的效果,而无需重新启动服务器。这对于快速迭代的项目尤其重要,因为它节省了频繁重启服务器的时间。然而,Tomcat默认并不...

Global site tag (gtag.js) - Google Analytics