3

Раньше я работал с BeyondCompare и он смог сравнить *.class , настроив его для запуска декомпилятора перед сравнением.

Есть ли что-то подобное для WinMerge? Или плагин, который может сделать это вместо этого?

1 ответ1

7

Я потратил день на написание плагина DLL для Winmerge, чтобы сделать это - это не самая лучшая вещь в мире, но она выполняет свою работу.

Принимает имя файла, разбивает его на каталог и имя класса, затем вызывает javap для каждого файла класса. Это довольно медленно, к сожалению (ява виноват, я бы сказал).

Я поместил DLL здесь:

http://www.locusia.com/winmerge/displayclassfiles.dll

Абсолютно нет лицензии, гарантии и т.д. Нет троянов или viii. Я найду способ почистить источник и где-нибудь его поднять (вероятно, с людьми из проекта winmerge).

Создайте каталог "MergePlugins", где находится ваш исполняемый файл winmerge, и поместите в него dll. Он автоматически активируется в файлах * .class.

Самым сложным было выяснить, как запустить javap, программирование Windows просто ужасно.

Было бы хорошо, если бы winmerge сравнил файлы перед их распаковкой, чтобы увидеть, отличаются ли они - это сэкономило бы немного времени. Может быть, это может быть достигнуто в плагине, но, как я уже сказал, я просто взломал это вместе так быстро, как мог.

О, я должен упомянуть, что вам понадобится javap на вашем пути.

РЕДАКТИРОВАТЬ: Исходный код здесь: http://www.locusia.com/winmerge/unpackjavaclassfiles%20source.7z Построен с использованием Visual Studio 2005 - Адаптировано из плагина DisplayBinaryFiles, который доступен с исходным пакетом winmerge.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .