private static List findClasses(File directory, String packageName) throws Exception {
        List classes = new ArrayList();
        if (!directory.exists()) {
            if (bDebug) System.out.println("目录不存在：" + directory.getAbsoluteFile());
            return classes;
        }
        File[] files = directory.listFiles();
        for (int i = 0; i < files.length; i++) {
            File file = files[i];
            if (file.isDirectory()) {
                if (-1 == file.getName().indexOf(".")) {
                    if (bDebug) System.out.println(file.getName());
                    classes.addAll(findClasses(file, packageName + "." + URLDecoder.decode(file.getName(), "UTF-8")));
                }
            } else if (file.getName().endsWith(".class")) {
                classes.add(Class.forName(packageName + '.' + URLDecoder.decode(file.getName(), "UTF-8").substring(0, file.getName().length() - 6)));
                if (bDebug) System.out.println("搞定一个");
            }
        }
        return classes;
    }