猿问

魔法值不兼容1008813135

我正在编写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不再产生此文件头了吗?头可以吗?我没有做任何更新或任何事情。


绝地无双
浏览 602回答 3
3回答

神不在的星期二

是的,0xCAFEBABE是Java文件通常的前4个字节。1008813135采用<!DO拉丁编码,很可能是的开始<!DOCTYPE...。因此,很可能是404 error或其他错误页面的开始。

ABOUTYOU

不兼容的幻数是html文件的前四个字节,其中包含一些错误消息,可能是找不到该文件的消息。当我没有在applet标签的codebase元素中考虑大小写敏感性时,我遇到了这种现象。在Windows上一切正常,但是我使用的Internet服务器运行UNIX,而文件名区分大小写很重要。在代码和代码库元素中使用所有文件和目录名称的大小写即可解决此问题。
随时随地看视频慕课网APP

相关分类

Java
我要回答