Java - 如何导入'思考'类

时间:2017-05-26 15:08:24

标签: java reflection

我尝试使用此处建议的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课程。

2 个答案:

答案 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或手动添加它