我在Java中使用Reflections:

<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,因此无法加载该类。
我可以给“思考”一个类路径吗?

最佳答案

不是目标吗? =>反射未见...

关于java - 为什么反射不想加载我的测试类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40959059/

10-09 00:47