java - 反射库,无法在我的包中找到任何类
问题描述
我正在尝试使用反射库来访问我项目中包内的类。根据以下问题的建议。
运行我的方法时,会显示我的 set 0 上的 size()。
List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>();
classLoadersList.add(ClasspathHelper.contextClassLoader());
classLoadersList.add(ClasspathHelper.staticClassLoader());
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false), new ResourcesScanner())
.setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0])))
.filterInputsBy(newFilterBuilder().include(FilterBuilder.prefix("com.ruperts.java.Commands"))));
Set<Class<?>> classes = reflections.getSubTypesOf(Object.class);
System.out.println(classes.size());
我还尝试根据其他问题中的评论将前缀设置为“” - 仍然显示未找到任何类。
如果有人想知道获取默认包的最简单方法是让前缀为空字符串->“”。
我的包裹名称有问题吗?
解决方案
推荐阅读
- flutter - flutter_bloc 与自写 bloc 或 MVVM 比较
- reactjs - React 不适用于备忘录和树结构
- systemd - 分析崩溃/死机系统的 systemd 日志
- android - 透明活动中的 setOnTouchListener
- excel - FileDialog(msoFileDialogFolderPicker) - 如何将初始路径设置为“root”/“This PC”?
- python - 在嵌套字典上用 Python 实现 PHP 方法 KSORT 和 HTTP_BUILD_QUERY
- python - 没有这样的文件或目录:pretrained_yolov3.h5
- swagger - 来自jsonfile的java swagger 3注释@ExampleObject
- javascript - 网站 javascript 在本地工作,但不在 AWS 上
- android - 资源 ID 在 AGP 7.0 中将不是最终的