【发布时间】:2016-12-04 13:17:46
【问题描述】:
我在 Java 中使用反射:
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
</dependency>
我可以加载除我的测试类之外的所有类。
List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>();
classLoadersList.add(ClasspathHelper.contextClassLoader());
classLoadersList.add(ClasspathHelper.staticClassLoader());
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner())
.setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]))));
我正在使用这种方法:
Set<Class<?>> allClasses = reflections.getSubTypesOf(Object.class);
我的测试类与其他类位于同一位置(在 src/main/java 中)
我认为是因为框架。 我认为反射没有找到 JUnit,所以它无法加载类。 我可以给 Reflections 一个类路径吗??
【问题讨论】:
标签: java class reflection classpath