2015-10-08 5 views
0

Как бы найти класс, который расширяет еще один абстрактный класс?Найти класс java, который расширяет абстрактный класс

В настоящее время у меня есть это:

public PluginFinder(ClassLoader cl, File f) throws MalformedURLException, ClassNotFoundException { 
    super(new URL[]{f.toURI().toURL()}, cl); 
    Class<?> jarClass = Class.forName("com.ngxdev.demoplugin.main.MainClass", true, this); 
    this.instance = new PluginParser(jarClass).instance; 
} 

Это работает, но это статическое, мне нужно найти, что «com.ngxdev.demoplugin.main.MainClass» без указания, потому что расположение может быть «ком. example.ExampleClass "для всего, что я знаю.

Я попытался использовать: Reflections reflections = new Reflections("my.project.prefix"); , но я действительно не знаю, как его использовать.

+0

Я не понимаю вашего вопроса. Вы хотите найти все классы в вашем классе, которые являются подтипами данного класса? –

+0

, если вы используете IDE, обычно есть опция поиска во всех файлах, вы можете искать имя абстрактного класса во всех файлах и посмотреть, что вы получаете. – denodster

+0

Нет, нет, я создаю плагин-загрузчик, и мне нужно найти класс, который расширяет плагин – Community

ответ

0

Reflections может также сканировать файлы, например:

Reflections reflections = new Reflections(new File("/plugin/example.jar")); 

Использование this libary

Смежные вопросы