频频出现Hot code replace failed问题。网上查不到解决方法,想来想去,是否是jvm的问题?我的jre使用自己下载的jdk1.6.07,而MyEclipse的jvm自带的是1.5.0.011版本的,于是更换成jdk1.6.07,该问题解决。 
修改方法:myeclipse.ini里面的C:\Program Files\Genuitec\Common\binary\com.sun.java.jre.win32.x86_1.5.0.011\bin\client\jvm.dll改成自己的C:\Program Files\Java\jdk1.6.0_07\jre\bin\client\jvm.dll。

eclipse/myeclipse 进java代码的开发,特别是web应用开发,一般情况下,修改配置文件(如web.xml)重启服务器才生效.而修改jsp页面,则不用重启.

若修改的是java文件,有两种情况:

1.小规模的修改,没有改变类的块结构,不用重启服务器,也可以立即生效.(前提是同步发布,即要勾上菜单 project->build automatically)

2.修改了类的结构(如增加或删除类的方法,字段).如果是这种情况,myeclipse会有"hot code replace fail"的提示,和失败的原因的说明(如add method not implemented, scheme change not implemented 等),并且提示重新启动服务器.这种情况要重启服务器才可以生效.

3.还有一种情况,对java文件进行小的修改(如 代码中不重要的地方加一个空格 )然后保存,myeclipse也会提示hot code replace fail.这种情况遇到的几率很小. 这种情况的很可能是服务器(如tomcat)下面发布了多个web应用程序,而所修改的类的名字在多个web应用中存在(如 有app1和app2两个应用, app1中有个类com.company.LoginAction, app2中也有个类com.company.LoginAction. 修改的是app1中的LoginAction ).

个人猜测:jvm在进行hot code replace的之前,将所修改的类(app1中的LoginAction)与另外一个应用中的同名类(app2中的LoginAction)对比,发现两者有结构上的差异,于是认为该类的改变很大,不能够进行hot code replace.

有种简单的方法可以验证,是否属于第三种情况.只部署一个工程在服务器下,启动后,再修改java类,如果是小的修改,这个时候myeclipse就不会再有hot code replace fail 的提示了.

关于 hot code replace fail 问题 .的更多相关文章

  1. Hot code replace failed

    今天在eclipses中 修改代码,保存时会出时不时出现Hot code replace failed 对话框,谷歌提示是在debug模式下保存修改源代码会出现此类问题.确实,刚刚在用debug功能, ...

  2. hot code replace

    http://wiki.eclipse.org/FAQ_What_is_hot_code_replace%3F https://social.msdn.microsoft.com/Forums/vst ...

  3. Hot code replace (HCR)

    https://wiki.eclipse.org/FAQ_What_is_hot_code_replace%3F https://zhidao.baidu.com/question/195505558 ...

  4. replace的坑

    问题:html中代码段包含了$,在使用replace替换时,$直接被替换了解决:先把文本中的$全部替换成自己定义的标签,最后在还原回去原因:在介绍replace的文档中,$&代表插入匹配的子串 ...

  5. Website's Game source code

    A Darkroom by doublespeakgames <!DOCTYPE html> <html itemscope itemtype="https://schem ...

  6. Java字节流:BufferedInputStream BufferedOutputStream

    -----------------------------------------------------------------------------------BufferedInputStre ...

  7. Chapter 6 — Improving ASP.NET Performance

    https://msdn.microsoft.com/en-us/library/ff647787.aspx Retired Content This content is outdated and ...

  8. Java-IO之BufferedInputStream(缓冲输入流)

    BufferedInputStream是缓冲输入流,继承于FilterInputStream,作用是为另一个输入流添加一些功能,本质上是通过一个内部缓冲数组实现的.例如,在新建某输入流对应的Buffe ...

  9. sed命令总结-Linux

    sed命令总结-Linux linuxsed 2018年02月08日 19时27分57秒 命令语法经常忘记,每次总是看笔记不切实际,记不起来的要多查manual,本次总结按照manual总结,希望下次 ...

随机推荐

  1. 09_rlCoachKin讲解

    在Socket.cpp中Socket::readClient()函数中就是解析读取到的内容的. 对于我们发送的2 0 1.57 0.31 0 0 1.57 0,那么就会进入如下分支: 也就是进入2号处 ...

  2. TestNG使用总结

    1.Eclipse中安装TestNG的方法 打开Eclipse   Help ->Install New Software ,   然后Add   "http://beust.com/ ...

  3. DTCMS,手机网站访问跳转到DTCMS官网解决方法

    mobile\js\base.js main\js\common.js 去掉location.href = 'http://m.dtcms.net'; 也可以设定手机访问跳转到指定域名

  4. (转载)sql语句解决分页问题

    <来源网址:http://www.delphifans.com/infoview/Article_353.html>sql语句解决分页问题日期:2005年1月17日 作者:treemon2 ...

  5. Linux进程间通信IPC学习笔记之同步一(线程、互斥锁和条件变量)

    基础知识: 测试代码: 参考资料: Posix 多线程程序设计

  6. CSS溢出文本省略(text-overflow)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. win 7 64位如何安装erdas 9.2

    最主要的就是crack包必须包含这三个文件:erdas.exe、license.dat和lmgrd.exe 将这三个文件都复制到C盘安装目录下bin中,其余安装同win 7 32位系统

  8. Excel与SqlServer的导入导出问题总结

    1.Excel导入到SqlServer中,如果Excel里面的某一列,即有文本,又有数字,导入SqlServer中这一列的类型将会是float,Excel里面对应的文本值将导不进来,为null. 解决 ...

  9. VB语言基础

    一.常用的关键字 Dim Private Sub  Public End If Else Form Me Single As Integer Unload Do While MessageBox等 二 ...

  10. 如何在Linux下重命名多个文件

    在Linux中,当你想要改变一个文件名,使用mv命令就好了.然而mv不能使用通配符重命名多个文件.可以用sed.awk或者与xargs结合使用来处理多个文件的情况.然而,这些命令行即繁琐又不友好,并且 ...