Как я могу получить функции 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 ссылки).