我有一个课堂演示:
public class Demo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
在运行时我调用main方法:
Class cls = Class.forName(packClassName);
Method thisMethod = cls.getMethod("main", String[].class);
thisMethod.setAccessible(true);
thisMethod.invoke(cls.newInstance(), (Object)str);
它打印“Hello World!” 信息。现在,一段时间后,我将演示类的打印消息更改为“Hello java”而不是“Hello World!” 并再次编译 Demo 类。现在我再次通过与上面相同的代码调用该方法,但我无法获得更新的消息。它会打印“Hello World!” 我如何打印更新的消息。请帮我。
现在,我刚刚做了两件事: 1. 实例化另一个新的 ClassLoader 实例
cls = Class.forName("anotherClassName");
- 删除class文件并重新编译
boolean success = (new File ("filename")).delete();
但仍然没有收到更新的消息...我该怎么办?