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:
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.