如何优雅的进行包扫描?

依赖引入


            com.google.guava
            guava
            30.1.1-jre

代码

public static void main(String[] args) throws IOException {
        ClassPath classPath = ClassPath.from(Thread.currentThread().getContextClassLoader());

        for (ClassPath.ClassInfo classInfo : classPath.getTopLevelClassesRecursive("com.zim.access.domain")) {
            System.out.println(classInfo);
        }
    }

说明

ClassPath 会根据classload以及委托机制,将所有的jar扫描出来,再根据jar将所有的classPath.classinfo全部预加载

classPath.getTopLevelClassesRecursive 只是做一个匹配操作

所以ClassPath.from是一个比较重的操作

你可能感兴趣的:(如何优雅的进行包扫描?)