Index: vm/vmcore/src/kernel_classes/javasrc/org/apache/harmony/vm/JarRunner.java =================================================================== --- vm/vmcore/src/kernel_classes/javasrc/org/apache/harmony/vm/JarRunner.java (revision 599293) +++ vm/vmcore/src/kernel_classes/javasrc/org/apache/harmony/vm/JarRunner.java (working copy) @@ -21,6 +21,7 @@ import java.util.jar.Attributes; import java.lang.reflect.Method; +import java.lang.reflect.Modifier; /** * Small class to launch jars. Used by VM for the @@ -69,9 +70,14 @@ */ Class mainClass = Thread.currentThread().getContextClassLoader().loadClass(className); - Method mainMethod = mainClass.getMethod("main", args.getClass()); - mainMethod.setAccessible(true); - + Method mainMethod = mainClass.getDeclaredMethod("main", args.getClass()); + if(Modifier.isPublic(mainMethod.getModifiers())) { + mainMethod.setAccessible(true); + } else { + System.out.println("Main method not public."); + System.out.flush(); + return; + } String newArgs[] = new String[args.length - 1]; for (int i=1; i < args.length; i++) {