踩坑记录:替换tomcat中.class文件不生效
某次升级生产环境时,替换tomcat中.class文件不生效,经定位是此class文件是常量类,在编译时引用此类的引用类已经把值取到并以常量的形式加载到本身,常量类class调整后,不会影响已编译的引用类中的常量的值。如:
java文件:
class文件:
可以看到,class文件中不再是调用常量类中的值,而是已经把值写死为原常量类中的值了。
解决方法:升级时同时替换引用类的.class文件
某次升级生产环境时,替换tomcat中.class文件不生效,经定位是此class文件是常量类,在编译时引用此类的引用类已经把值取到并以常量的形式加载到本身,常量类class调整后,不会影响已编译的引用类中的常量的值。如:
java文件:
class文件:
可以看到,class文件中不再是调用常量类中的值,而是已经把值写死为原常量类中的值了。
解决方法:升级时同时替换引用类的.class文件