@Test public void testgetLoaderClass() throws NoSuchFieldException, IllegalAccessException { List<Class> loaderClass = ClassUtil.getLoaderClass(ClassUtil.getContextClassLoader()); for (Class clas : loaderClass) { System.out.println(clas.getName()); } }
public static List<Class> getLoaderClass(ClassLoader classLoader) throws NoSuchFieldException, IllegalAccessException { Class cla = classLoader.getClass(); while (cla != ClassLoader.class) cla = cla.getSuperclass(); Field field = cla.getDeclaredField("classes"); field.setAccessible(true); Vector v = (Vector) field.get(classLoader); List<Class> result = new ArrayList<>(); for (int i = 0; i < v.size(); i++) { result.add((Class)v.get(i)); } return result; }
ClassUtil { public static List<Class> getLoaderClass(ClassLoader classLoader) throws NoSuchFieldException, IllegalAccessException { Class cla = classLoader.getClass(); while (cla != ClassLoader.class) cla = cla.getSuperclass(); Field field = cla.getDeclaredField("classes"); field.setAccessible(true); Vector v = (Vector) field.get(classLoader); List<Class> result = new ArrayList<>(); for (int i = 0; i < v.size(); i++) { result.add((Class)v.get(i)); } return result; } }
ClassUtil { public static List<Class> getLoaderClass(ClassLoader classLoader) throws NoSuchFieldException, IllegalAccessException { Class cla = classLoader.getClass(); while (cla != ClassLoader.class) cla = cla.getSuperclass(); Field field = cla.getDeclaredField("classes"); field.setAccessible(true); Vector v = (Vector) field.get(classLoader); List<Class> result = new ArrayList<>(); for (int i = 0; i < v.size(); i++) { result.add((Class)v.get(i)); } return result; }  }
ClassUtil { public static List<Class> getLoaderClass(ClassLoader classLoader) throws NoSuchFieldException, IllegalAccessException { Class cla = classLoader.getClass(); while (cla != ClassLoader.class) cla = cla.getSuperclass(); Field field = cla.getDeclaredField("classes"); field.setAccessible(true); Vector v = (Vector) field.get(classLoader); List<Class> result = new ArrayList<>(); for (int i = 0; i < v.size(); i++) { result.add((Class)v.get(i)); } return result; }  static ClassLoader getContextClassLoader(); final static String[] getField(String className, boolean extendsField); final static String[] getPublicField(String className, boolean extendsField); final static String[] getProtectedField(String className); final static String[] getPrivateField(String className); final static String[] getPublicMethod(String className, boolean extendsMethod); final static String[] getProtectedMethod(String className, boolean extendsMethod); final static String[] getPrivateMethod(String className); final static String[] getMethod(String className, boolean extendsMethod); final static void setter(Object obj, String att, Object value, Class<?> type); final static List<String> getClassNameByFile(String filePath, boolean childPackage); final static List<String> getClassNameByJar(String jarPath); final static Class loadClass(String className); final static List<String> getResourceNameByJar(String jarPath); final static List<String> getResourceNameByJar(String jarPath, String suffix); static List<Class> getLoaderClass(ClassLoader classLoader); final static String getSuperClass(String className); final static String[] getSuperClassChian(String className); final static String[] getInterfaces(String className, boolean extendsInterfaces); static File getFile(String resourceLocation); static File getFile(URL resourceUrl); static File getFile(URL resourceUrl, String description); static URI toURI(URL url); static URI toURI(String location); }
ClassUtil { public static List<Class> getLoaderClass(ClassLoader classLoader) throws NoSuchFieldException, IllegalAccessException { Class cla = classLoader.getClass(); while (cla != ClassLoader.class) cla = cla.getSuperclass(); Field field = cla.getDeclaredField("classes"); field.setAccessible(true); Vector v = (Vector) field.get(classLoader); List<Class> result = new ArrayList<>(); for (int i = 0; i < v.size(); i++) { result.add((Class)v.get(i)); } return result; }  static ClassLoader getContextClassLoader(); final static String[] getField(String className, boolean extendsField); final static String[] getPublicField(String className, boolean extendsField); final static String[] getProtectedField(String className); final static String[] getPrivateField(String className); final static String[] getPublicMethod(String className, boolean extendsMethod); final static String[] getProtectedMethod(String className, boolean extendsMethod); final static String[] getPrivateMethod(String className); final static String[] getMethod(String className, boolean extendsMethod); final static void setter(Object obj, String att, Object value, Class<?> type); final static List<String> getClassNameByFile(String filePath, boolean childPackage); final static List<String> getClassNameByJar(String jarPath); final static Class loadClass(String className); final static List<String> getResourceNameByJar(String jarPath); final static List<String> getResourceNameByJar(String jarPath, String suffix); static List<Class> getLoaderClass(ClassLoader classLoader); final static String getSuperClass(String className); final static String[] getSuperClassChian(String className); final static String[] getInterfaces(String className, boolean extendsInterfaces); static File getFile(String resourceLocation); static File getFile(URL resourceUrl); static File getFile(URL resourceUrl, String description); static URI toURI(URL url); static URI toURI(String location); static ClassLoader overridenClassLoader; }