| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Как получить список классов наследников |
| Автор: vdweller 10.4.2008, 14:14 |
| В общем вопрос в следующем - есть некий абстрактный базовый класс. Есть наследники от него. Сколько их и какие у них имена неизвестно. Необходимо чтобы все эти наследники при запуске программы зарегистрировали себя в неком менеджере классов. Проблема - заставить эти классы при загрузке приложения выполнить эту регистрацию. Т.к. классы грузятся JVM по мере надобности то до тех пор пока класс не потребуется он не будет загружен и даже статическая секция инициализации не отработает. Как такое можно реализовать? |
| Автор: vdweller 10.4.2008, 15:43 |
| + еще один вопрос - если то что я написал невозможно, то можно ли заставить ява машину принудительно при старте приложения загрузить все классы из определенного пакета находящегося в classpath |
| Автор: LSD 10.4.2008, 15:46 |
| Можно только перечислить эти классы в некотором списке, а затем для каждого вызвать Class.forName(). |
| Автор: vdweller 10.4.2008, 15:49 |
| Блин, обидно, так не хочется имена классов хардкодить ( |
| Автор: LSD 10.4.2008, 15:52 |
| Занеси их в некий файл, и читай оттуда. А список можно вормировать тем же ANT-ом. |
| Автор: w1nd 13.4.2008, 23:00 |
| vdweller, почитайте спецификацию JAR. В частности, про сервисы, описываемые в manifest.mf. В принципе, это то же, что и LSD советует, но ещё интереснее. |