我正在编写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不再产生此文件头了吗?头可以吗?我没有做任何更新或任何事情。
是的,0xCAFEBABE是Java文件通常的前4个字节。
0xCAFEBABE
1008813135采用<!DO拉丁编码,很可能是的开始<!DOCTYPE...。
<!DO
<!DOCTYPE...
因此,很可能是404 error或其他错误页面的开始。
404 error