我正在尝试使用反射库来访问我项目中包内的类。根据以下问题的建议。
运行我的方法时,会显示我的 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());
我还尝试根据其他问题中的评论将前缀设置为“” - 仍然显示未找到任何类。
如果有人想知道获取默认包的最简单方法是让前缀为空字符串->“”。
我的包裹名称有问题吗?