Есть ли инструменты для сравнения .class
файлов на семантическом уровне? По крайней мере, я хочу видеть изменения подписи метода (например, такую информацию, которую я мог бы получить, сравнив выходы javap
), но также и логический (байт-код) изменяется внутри самих методов, даже когда API не изменен. Инструмент должен быть достаточно умным, чтобы не сообщать о ложных тревогах, например. в случае, когда целые методы меняются местами и перемещаются вверх или вниз в одном и том же исходном файле.Как сравнить файлы классов
1
A
ответ
2
В итоге я использовал следующий скрипт bash (который только проверяет подписи). Я уверен, что он может быть улучшен, так как на данный момент не удается подписать подписи близко к методам из-за операции сортировки.
#!/usr/bin/env bash
if [ $# -ne 2 ]
then
echo "usage is $0 <class A> <class B>"
else
diff <(javap -s "$1" | sort | grep -v ^$) <(javap -s "$2" | sort | grep -v ^$)
fi
Смежные вопросы
- 1. Как сравнить определения классов
- 2. Как сравнить файлы dll
- 3. Как сравнить текстовые файлы?
- 4. Как сравнить файлы XML
- 5. Как сравнить поля несвязанных классов?
- 6. JQuery сравнить имена классов
- 7. Как сравнить файлы jar с помощью Ant?
- 8. Как сравнить файлы с Boost.Test?
- 9. Как сравнить типы классов в C++?
- 10. Как сравнить объекты двух разных классов?
- 11. как сравнить 2 имена классов объекта
- 12. Сравнить файлы в Java?
- 13. Сравнить файлы .class Bejond Сравнить 4
- 14. Как сделать файлы классов unisassemblable
- 15. Как анализировать файлы классов Java?
- 16. Как «декомпилировать» файлы классов Java?
- 17. Как переопределить файлы классов (asm.ClassWriter.getCommonSuperClass)?
- 18. Пакетный файл: сравнить файлы?
- 19. Файлы классов C++
- 20. Рекурсивно удалять файлы классов
- 21. Где хранить файлы классов?
- 22. Файлы Eclipse и классов
- 23. Пакет - туземцы, банки и файлы классов классов
- 24. Java: файлы классов упаковки
- 25. Как я могу сравнить 2 SQLite-файлы?
- 26. Как слить/сравнить файлы, игнорируя порядок?
- 27. Как сравнить файлы в тестовом примере JUnit?
- 28. Vb.net Как сравнить большие текстовые файлы
- 29. Как сравнить файлы, исключая заголовок файла?
- 30. Как сравнить файлы Excel (.xlsx) с Kdiff3?
пытался [jd-gui] (http://jd.benow.ca/)? Возможно, это может помочь – Nishant
С небольшим количеством сценариев оболочки ('javap -s',' grep', 'sort',' diff -u'), должно быть довольно легко сравнить сигнатуры методов. –