我尝试使用此处建议的Reflections类 stackoverflow.com/questions/12538761/
Reflections reflections = new Reflections("my.project.prefix");
Set<Class<? extends SomeType>> subTypes =
reflections.getSubTypesOf(SomeType.class);
Set<SomeType> someTypes = new HashSet<SomeType>(subTypes.size());
for (Class<? extends SubType> subType : subTypes) {
someTypes.add(subType.newInstance());
}
但是,我似乎无法导入必要的包。 NetBeans无法找到它,我也尝试导入java.lang.reflections
,但它没有做到。
我可以看到java.lang.Class
,但我无法在任何地方看到Reflections
课程。
答案 0 :(得分:4)
Reflections不是Java的一部分,它是第三方库。首先,您需要将相关的Jar添加到类路径中。例如,如果您正在使用Maven,则可以添加以下依赖项:
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.11</version>
</dependency>
完成后,您需要导入Reflections
课程,如您所述。它位于org.reflections
包中:
import org.reflections.Reflections
答案 1 :(得分:2)
它是一个图书馆https://github.com/ronmamo/reflections 通过Maven,Gradle或手动添加它