紧急关头难免会替换class文件,但一定要注意一下几点。
1、小心class内中的project 的类的后,替换文件需要加上 $classMapper这个类, 编译成class的时候,会把public class 中的protected class 编译为$.class , 所以替换的时候也要找到这个class替换上, 不过对于这中替换,最好是打成war包替换.
2、替换完class,是否需要重启容器? 例如tomcat7是无需重启的,但是常量类不再规范的一个类的时候,可能修改了一个类,其他的编译好的仍然使用原值。
3、 超过5个class,有必要打war包,就不要单次的去替换class文件,不然出了问题还

在紧急情况下替换线上项目的class文件需谨慎。确保替换时考虑$classMapper$类,因为编译后的protected class会变为$.class。对于多个class的修改,建议打war包替换,避免单个替换带来的风险。Tomcat7不需要重启,但修改常量类可能导致其他已编译代码使用旧值。替换后务必清除Tomcat work目录的缓存,若涉及常量值变更,不变更可能导致问题。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



