Как я могу получить функции sinatures из файла JAR?

В Eclipse или NetBeans, когда вы "управляете + щелкаете" в функции, вы можете по крайней мере увидеть всю ее подпись, даже если она находится в jar-файле.

Я задаюсь вопросом, возможно ли написать инструмент для извлечения всех сигнатур функций из файла JAR. Есть ли API для этого?

Я знаю, что jDepend предлагает функции для этого. Тем не менее, я считаю, что есть несколько более общих способов сделать это.

2 ответа

Решение

Jar - это zip-файлы, поэтому вы можете использовать zip-процедуры для получения определения байтового кода для каждого класса в jar-файле.

Затем, учитывая байт-код, вы можете использовать инструмент анализа байт-кода, такой как javassist, для загрузки байт-кода в ClassFile, а затем получить метод MethodInfo, который вы затем сможете обрабатывать по своему усмотрению.

Я думаю javap инструмент то, что вы после.

Что-то вроде javap -classpath ./lib/ MyClass должен сделать свое дело.

Смотрите также этот учебник и справочную информацию для javap (Google javapУ меня недостаточно репутации, чтобы опубликовать более 1 ссылки).

Другие вопросы по тегам