java.lang.ClassFormat错误: Incompatible magic value 218774561

标签 java class jar applet classformaterror

大家好,我今天正在制作我的第一个 java 小程序。我一直在服务器上使用子域,但我不知道该怎么办,因为我收到了这个非常奇怪的错误。

我的 jar 和所有东西都在服务器中,但每次我尝试加载 Applet 时都会发生这种情况。

java.lang.ClassFormatError: Incompatible magic value 218774561 in class file Evolution/EvolutionApplet

根据研究,不兼容的魔法值似乎意味着 .jar 中的某些内容已损坏

这是网站http://dementedgames.site88.net/Main.html 如果您需要网站上的 html 代码,则 jars 名称为 Evolution。

编辑:小程序应该从 Evolution.EvolutionApplet 而不是 Evolution.Evolution 启动

最佳答案

有效 Java 类的 magic value0xCAFEBABE ,它是 3405691582 的十六进制值。这由文件的前 4 个字节表示。但是您得到的 218774561 又代表 ASCII 字符 CRLF<! (CRLF 是换行符)。要亲自查看,请运行这段代码:

int magic = 218774561;
ByteBuffer b = ByteBuffer.allocate(4);
b.putInt(magic);
System.out.println(new String(b.array()));

这与网站提供的小程序相结合表明它是 <!DOCTYPE> 的开始,而 Evolution.jar 又表明它是一个 HTML 文档。

因此,对 /page.html 的请求显然实际上返回了一个 HTML 文档。当您将浏览器地址栏中的当前请求 URI 更改为指向小程序的 URL(例如,将 URL 末尾的 /Evolution.jar 更改为 archive )时,您应该能够自己看到它。然后您将看到浏览器在尝试下载该小程序时实际上 检索到的内容。也许这是一个简单的 HTTP 404 错误文档。

要修复它,只需确保 ojit_code 属性中的 URL 是正确的。它与您在浏览器地址栏中看到的当前请求 URL 相关。

关于java.lang.ClassFormat错误: Incompatible magic value 218774561,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10327098/

相关文章:

java - 绑定(bind)同一个接口(interface)两次(Guice)

php - 使用方法访问类并实例化它们

java - 哪个 JAR 包含 org.springframework.orm.hibernate.HibernateTransactionManager?

java - 如何在 Eclipse 中制作 Applet 的可执行 JAR 文件?

java - android - 无法解决方法 getSystemService 问题

java - Android 设备监视器未在 MAC 上的 Android Studio 中启动

java - 在 getAudioInputStream() 期间标记/重置异常

Java:如何从 String 创建类列表

java - 如何使用 ASM java 库获取 Jar 中存在的类的内部类中的所有方法?

java - 如果配置包含加密条目,嵌入式自配置 Spring-Cloud-Config 服务器启动失败