不兼容的魔术值1008813135

2022-09-01 13:51:42

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

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

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

担心在Windows上打开项目一定是我决定导致此错误 - 我试图从Mac的NetBeans构建 - 但错误仍然存在。

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

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


答案 1

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

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

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


答案 2

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

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

感谢上帝,问题解决了。

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

“不兼容的魔术值1008813135”错误?

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

Java 初始化时的错误

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

# DefaultType application/x-httpd-php

修复了该问题。


推荐