首页 > 解决方案 > 反射库,无法在我的包中找到任何类

问题描述

我正在尝试使用反射库来访问我项目中包内的类。根据以下问题的建议。

您可以使用反射找到包中的所有类吗?

运行我的方法时,会显示我的 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());

我还尝试根据其他问题中的评论将前缀设置为“” - 仍然显示未找到任何类。

如果有人想知道获取默认包的最简单方法是让前缀为空字符串->“”。

我的包裹名称有问题吗?

标签: javareflectionpackagereflections

解决方案


推荐阅读