如何优雅的进行包扫描?

2021-12-29  本文已影响0人  刘书生

依赖引入

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

上一篇下一篇

猜你喜欢

热点阅读