3
:なぜ反射は私のテストクラスをロードしたくないのですか?私は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]))));
そして、私はこの方法で使用しています:私のテストクラスは、(SRC /メイン/ Javaで)他のクラスと同じ場所にある
Set<Class<?>> allClasses = reflections.getSubTypesOf(Object.class);
を
Iそれがフレームワークのためだと思う。 ReflectionsはJUnitを見つけられないと思うので、クラスをロードできません。 Reflectionsにクラスパスを与えることはできますか?