在修改以前别人的代码时,需要在Tomcat下项目war包中替换修改过的.class文件。替换后重启Tomcat,发现运行结果没有变化,并且为调试而输出的内容也没有任何显示。
后发现,修改的java类中包含了三个内部类,三个内部类分别形成了三个.class文件。系统四个.class文件(一个主类,三个内部类)显示修改时间相同。经过再次替换,日志终于显示了System.out输出的内容。
结论:
往Tomcat里的jar包或者war包中替换.class文件时,若修改的类中包含了内部类,必须连同内部类的.class文件一同替换。