不相容的魔法值1008813135

War*_*lax 28 java compatibility applet

我正在编写Java applet并将其嵌入到网页中.它曾经在不同的浏览器中运行Mac和Windows而没有任何问题.我在Mac上使用NetBeans来构建applet使用的.jar文件.

出于某种原因,我决定在Windows的NetBeans上加载项目 - 当从任何浏览器访问网页时,我开始在Windows机器上收到以下错误:

java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file
Run Code Online (Sandbox Code Playgroud)

由于担心我一直决定在Windows上打开导致此错误的项目 - 我尝试使用Mac的NetBeans进行构建 - 但错误仍然存​​在.

我在Mac上开始了一段时间的新项目并导入了现有的源代码:仍然是同样的问题.

我正在阅读有关此错误的一些内容,似乎预期的幻数是十六进制的0xCAFEBABE,即十进制的3405691582,而不是1008813135.所以看起来Mac版的Java不再生成这个文件头?锄头可以吗?我没有做任何更新或任何事情.

Poo*_*ool 59

是的,0xCAFEBABE通常是Java文件的前4个字节.

1008813135<!DO拉丁语编码,很可能是开头的<!DOCTYPE....

因此,它可能是一个404 error或其他错误页面的开头.


pol*_*nts 6

我没有遇到过这个问题,但谷歌搜索这个错误会产生几种可能的解决方案:

forum.sun.com - Java Applet开发 - 类文件MyApplet中不兼容的魔术值1008813135

感谢上帝,问题解决了.

它是Java缓存,因此解决方案转到Java控制面板,"常规"选项卡,然后在"Internet临时文件"下单击"设置",然后单击"删除文件".再次尝试使用applet.

"不兼容的魔法值1008813135"错误?

问题现在解决了:我发现我使用的网站主机根本不支持.jar文件.我使用我的ftp程序批量上传文件,并没有注意到它完全忽略了.jar文件.

java初始化的错误

好吧,这是一个apache配置问题,从我的httpd.conf文件中删除了这一行:

# DefaultType application/x-httpd-php

修复了这个问题.