Как загружать классы во время выполнения из папки или JAR?

Я пытаюсь создать инструмент Java, который будет сканировать структуру приложения Java и предоставлять некоторую содержательную информацию. Для этого мне нужно иметь возможность сканировать все файлы .class из местоположения проекта (JAR/WAR или просто папки) и использовать отражение, чтобы прочитать об их методах. Это оказывается почти невозможным.

Я могу найти множество решений на основе URLClassloader, которые позволяют мне загружать определенные классы из каталога/архива, но ни одно из них не позволяет мне загружать классы без какой-либо информации об имени класса или структуре пакета.

РЕДАКТИРОВАТЬ: Я думаю, что я плохо сформулировал это. Моя проблема не в том, что я не могу получить все файлы классов, я могу сделать это с помощью рекурсии и т. д. и найти их правильно. Моя проблема заключается в получении объекта класса для каждого файла класса.

61
задан Sam Stern 13 June 2012 в 15:53
поделиться