Java: defineClass и внутренние классы

В моем собственном загрузчике классов я получаю все записи из файла jar и использую defineClass() для загрузки классов в память.

Моя проблема в том, что если у jar есть внутренние классы (например, MyClass$1.class), метод defineClass завершается с ошибкой java.lang.NoClassDefFoundError: IllegalName.

Очевидно, что для работы java нужны все файлы из jar, но как можно загрузить внутренние классы?


person justme_    schedule 23.03.2011    source источник
comment
Получаем ли мы больше трассировки исключения?   -  person Tom Hawtin - tackline    schedule 24.03.2011
comment
Почему бы вам просто не использовать обычный URLClassLoader?   -  person Paŭlo Ebermann    schedule 27.03.2011


Ответы (1)


MyClass$1.class должен соответствовать анонимному внутреннему классу. Если ваш внутренний класс назван, он должен быть MyClass$InnerClass.class

person Bala R    schedule 23.03.2011