如何优雅的进行包扫描?

依赖引入

<dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>30.1.1-jre</version>
</dependency>

代码

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是一个比较重的操作

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容