I am getting the different output with HDK and RI with the following
scenario
Step1: Compile TestInnerClass.java [1] by including junit.jar in the
classpath.
Step2: Through reflection call the innerclass
TestInnerClass$ExceptingEntryPoint main method (refer [2]) without
including the junit.jar in the classpath
HDK: throws NoClassDefFoundError: junit/framework/TestCase
RI: prints "I am printing from TestInnerClass$ExceptingEntryPoint"
Any thougts on this.
P.S: One of the ANT unit-testcase implements this scenario due to which 4
tests are failing.
[1] TestInnerClass .java
import junit.framework.TestCase;
public class TestInnerClass extends TestCase{
public static class ExceptingEntryPoint {
public static void main(String[] argv) {
System.out.println("I am printing from
TestInnerClass$ExceptingEntryPoint");
}
}
}
[2] Testcase: ClassLoadTest.java
import java.lang.reflect.Method;
public class ClassLoadTest {
public void callMain() throws Exception{
String classname = "TestInnerClass$ExceptingEntryPoint";
Class target = Class.forName(classname, true,
this.getClass().getClassLoader());
Method main = target.getMethod("main", new Class[]
{String[].class});
main.invoke(null, (Object[])new String[] {null});
}
public static void main(String[] args) throws Exception{
new ClassLoadTest().callMain();
}
}
Thanks and Regards,
Mohan