我在 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 中)
我认为这是框架的原因。 我认为 Reflections 找不到 JUnit,因此它无法加载该类。 我可以给 Reflections 一个类路径吗??
最佳答案
未达到目标? => 反射看不到...
关于java - 为什么反射不想加载我的测试类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40959059/