不相容的魔法值1008813135

我正在编写一个Java小程序并将其embedded到网页中。 它曾经在不同的浏览器中运行Mac和Windows没有问题。 我在Mac上使用NetBeans来构buildapplet所使用的.jar文件。

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

java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file 

担心这肯定是我决定在Windows上打开导致这个错误的项目 – 我试图从Mac的NetBeans构build – 但错误依然存在。

我在Mac上启动了一个新的项目,并导入了现有的源代码:仍是同样的问题。

我正在做一些关于这个错误的阅读,似乎期望的幻数是0xCAFEBABEhex,这是十进制的3405691582,而不是1008813135.所以看起来像Java的Mac版本不再产生这个文件头? 锄头可以吗? 我没有做任何更新或任何东西。

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

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

因此,这可能是404 error或其他错误页面的开始。

我没有遇到这个问题,但谷歌search这个错误产生了几个可能的解决scheme:

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

感谢上帝,问题解决了。

它的Javacaching,所以解决scheme转到Java控制面板,“常规”选项卡,并在“临时Internet文件”下单击“设置”,然后单击“删除文件”。 再次尝试使用小程序。

“不相容的魔法值1008813135”错误?

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

java初始化错误

好的,所以这是一个Apacheconfiguration问题,从我的httpd.conf文件中删除了这一行:

# DefaultType application/x-httpd-php

修复了这个问题。

如果您使用的是Spring安全性或某种自定义的Servletfilter,请确保归档或代码库位置处于“permitAll”访问状态。 这是对我来说的问题

我面临同样的问题。原因在我的情况是所有的Applet使用的依赖库,没有签名,也没有能够find它们的小程序

所以我已经添加了所有的依赖库,以及如下所示的jsp文件中的主要applet:

app.archive ='/esense/resources/lib/Applet.jar,/esense/resources/lib/jasypt-1.7.jar,/esense/resources/lib/mysql-connector-java-5.1.30.jar,/ esense /resources/lib/runtime-api-1.0.jar';

我也签了所有的jar子。

希望这可能适用于你的情况。

不兼容的幻数是一个html文件的前四个字节,其中有一些错误信息,可能是一个消息,该文件没有find。

当我在applet标记的codebase元素中没有考虑区分大小写时,我遇到了这种现象。 事情在Windows上运行良好,但我使用的互联网服务器运行的是UNIX,其中文件名区分大小写非常重要。 在代码和代码库元素中创build所有文件和目录名称的例子解决了这个问题。