powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / reflection
4 сообщений из 4, страница 1 из 1
reflection
    #33530177
Фотография Vector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуй народ!
Есть задача изучить файл .class. Т.е. получить все методы, конструкторы и поля класса, находящегося в этом файле.
Как бы имя класса можно взять из имени файла .class, и затем исследовать его.
Проблема в том, этот .class файл может быть где угодно и может не находиться в директории переменной ClassPaht. Поэтому вызывая

Код: plaintext
 Class  c= Class .forName("name");

Получаю exception java.lang.ClassNotFoundException

Соответственно вопрос, как можно решить данную проблему?
Возможно ли программно изменять переменную ClassPath?
Или же можно ли загружать класс с указанием пути до файла .class?

С уважением Vector
...
Рейтинг: 0 / 0
reflection
    #33530301
Mr WeL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Твой файл .. лежит где то
File file =  new  File("C:/temp/prod.jar");

ClassLoader cl =  new  URLClassLoader( new     URL[]{file.toURL()}, this . class .getClassLoader());

 Class  c = cl.loadClass("mod.T1Connector");

методы
c.getDeclaredMethods();
поля
c.getDeclaredFields();


...
Рейтинг: 0 / 0
reflection
    #33531217
Фотография Vector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно. Вроде работает. А вот как еще получить список всех классов из .jar
в виде binary name, например
"java.lang.String"
...
Рейтинг: 0 / 0
reflection
    #33532838
Mr WeL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первое что пришло на ум.

Можно открыть файл как Zip и посмотреть что там есть :)
Тогда директории будут пакетами, файлы будут классами в этих пакетах.

Думаю есть более "правильное" решение.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / reflection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]