Set<String> sets = new HashSet<>();
String basePackage = "com.springframework";
String searchPaths = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + ClassUtils.convertClassNameToResourcePath(basePackage) + "/**/*.class";
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources(searchPaths);
MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory();
for (Resource resource : resources) {
MetadataReader metadataReader = metadataReaderFactory.getMetadataReader(resource);
String className = metadataReader.getClassMetadata().getClassName();
sets.add(className);
}
sets.forEach(className -> System.out.println(className));
利用Spring扫描class文件
最新推荐文章于 2023-08-04 22:14:21 发布
本文介绍了一种使用Java编程语言扫描指定包及其子包下所有类文件的方法。通过ResourcePatternResolver定位资源路径,并借助CachingMetadataReaderFactory读取每个类文件的元数据,最终收集并打印出所有的类名。
9684

被折叠的 条评论
为什么被折叠?



