在一次修改代码发送class补丁给测试人员之后,抛出了NoSuchMethodError异常,通过检查本地代码测试之后正常。
后来发现内部类在编译过程中,会生成单独的一个class文件(反编译补丁时发现少了内部类)
例如下面的demo
public class Demo {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 内部类
class Second {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
}
编译完成后会生成Demo.class与Demo$Second.class,若修改了内部类,发送补丁时应携带两个class文件。