ClassLoader not loading recompiled classes



ClassLoader does not update class on recompile:

Script started on Tue Oct 2 01:45:20 200
cat Main.java
public class Main
{
public static void main(String[] args)
throws Throwable
{
while(true) {
ClassLoader loader=ClassLoader.getSystemClassLoader();
Class klass=loader.loadClass("MyClass");
MyClass mc=(MyClass) klass.newInstance();

System.out.println("hit any key to reload/rerun MyClass");
System.in.read();
}
}
}
cat MyClass.java
public class MyClass
{
public MyClass()
{
System.out.println("not hi there");
}
}
javac *.java
java Main
not hi there
hit any key to reload/rerun MyClass

not hi there
hit any key to reload/rerun MyClass
^Z
Suspended
cat foo
public class MyClass
{
public MyClass()
{
System.out.println("foo on you");
}
}
mv foo MyClass.java
javac MyClass.java
fg
java Main

not hi there
hit any key to reload/rerun MyClass
^C
exit
Script done on Tue Oct 2 01:47:02 200

.



Relevant Pages