
正文
java热代码替换失败,java 热替换
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java 报这段错误时什么原因
这是热代码替换提醒。
Eclipse有这种功能:当你在调试程序的时候,如果对源代码进行了修改,那么所做的修改会实时反映到当前的调试结果中,而不会中断当前正在运行的调试进程。但是当修改方法名称或是其他一些关键性区域时(比如类名从Test修改为Others),热代码替换功能将不起作用。这时就会弹出这种警告。
选择第一个按钮,则调试继续进行,不过这时你所看到的代码还是之前没有修改过的代码。
选择第二个是查看详细信息。
选择第三个按钮,则结束调试。
选择第四个按钮,则将修改编译后重新运行调试,这时你看到的是最新的代码。
相关问答
Q1: myeclipse调试java代码,运行报错后,编译生成的class文件再不会更新,求指点
重启一你的 debug 程序就可以了,正常编译成功,在 ecclipse 中的代码热替换是立即起作用,不用重新启动 tomcat 之类的服务器,但是有些情况是不能正常工作的,比如,删除或修改了方法签名,另外新增静态字段它的值总是默认值。重启调试的程序就可以正常了,这只是代码热替换或者说是 ClassLoader 无法实现的功能。
Q2: java在jar包里面替换个类程序没有反应了
很有可能你编译这个java文件时的jdk版本与原来版本不一致导致!
例如原来是1.4编译的,现在你用的1.6,很有可能是这原因,你应该看下原来的class是什么版本的jdk编译的(至于怎么看网上教程多得是)
Q3: java String 字符串替换,replace成功,replaceAll却失败?求原因...
$ 是正则表达式中的一个符号,replace函数替换时忽略正则表达式符号,replaceAll和replaceFirst函数替换时是使用正则表达式匹配的。
两个函数功能不同。
使用 Matcher.quoteReplacement(String str)函数,可以把正则表达式符号转为正常符号。
例如:
abc = abc.replaceAll(Matcher.quoteReplacement("$[姓名]"), "张三");






