Magic Values - Alguém já viu isso?

Estou recebendo esta exceção em um applet:

Exception in thread "AWT-EventQueue-2" java.lang.ClassFormatError: Incompatible magic value 1347093252 in class file escolherImagem

Alguém sabe o que significam os magic values?

Abraçõs!

É uma espécie de assinatura que todo byte code java possui. Deve ter havido algum erro que corrompeu o arquivo .class.

Todo arquivo .class começa com os seguintes bytes:
CA FE BA BE

que em hexadecimal fica 0xCAFEBABE, ou em decimal 3405691582.

Se por acaso o arquivo .class não foi encontrado, o Sun Java Plugin pega aquilo que o browser mandou (como uma mensagem de erro 404 ou 500, por exemplo) e tenta interpretar assim mesmo . Muitas vezes a mensagem de erro começa por “<HTML>” ou “<html>”; neste caso, os primeiros 4 caracteres “<HTM”, em hexadecimal, ficam 3C48544D, ou em decimal 1011373133.

No seu caso o valor deu em hexadecimal 504B0304, o que dá “PK\u0003\u004” - ou seja, o começo de um arquivo .zip ou .jar. Parece que você confundiu um arquivo .class com um arquivo .jar; isso tem cara de tag >< APPLET > escrita errado.

Massa :smiley: vi o post mas nem pensei em fazer a conversão para saber qual tipo o arquivo na verdade é.

Eu já tive problemas com a tal mensagem de erro 404, por exemplo. Daí peguei o jeito de converter as coisas para hexadecimal, porque sabia que se vi um determinado erro ocorrer uma vez, vai ocorrer N vezes com M outras pessoas.

Po, interessante!! Legal mesmo!

Vlw pessoal!