Posso usar o WinMerge para comparar arquivos * .class?

3

Eu costumava trabalhar com BeyondCompare e era capaz de comparar os arquivos *.class configurando-o para executar um decompilador antes da comparação.

Existe algo parecido com WinMerge ? Ou um plug-in que pode fazer isso em vez disso?

    
por RonK 15.05.2011 / 09:00

1 resposta

7

Eu passei o dia escrevendo um plugin DLL para Winmerge para fazer isso - não é a melhor coisa do mundo, mas faz o trabalho.

Obtém o nome do arquivo, divide-o no diretório e nome da classe e, em seguida, chama o javap para cada arquivo de classe. É um pouco lento, infelizmente (culpa do javap eu diria).

Eu coloquei a DLL aqui:

link

Absolutamente nenhuma licença, garantia, etc. Nenhum trojans ou vírus também. Vou dar a volta para limpar a fonte e colocá-la em algum lugar (provavelmente com o pessoal do projeto winmerge).

Crie um diretório "MergePlugins" onde seu executável do winmerge está e coloque a dll nele. Ele é ativado automaticamente em arquivos * .class.

A parte mais difícil foi descobrir como iniciar o javap, a programação do Windows é tão ruim.

Seria bom se o winmerge comparasse os arquivos antes de descompactá-los para ver se eles são diferentes - isso economizaria um pouco de tempo. Talvez isso possa ser feito no plug-in de alguma forma, mas como eu disse, eu acabei de hackear isso o mais rápido que pude.

Ah, devo mencionar que você precisará do javap no seu caminho.

EDIT: O código fonte está aqui: link Construído usando visual studio 2005 - Adaptado do plugin DisplayBinaryFiles que está disponível com o pacote fonte winmerge.

    
por 21.07.2011 / 09:53

Tags