图片:

显示版本的命令提示符

错误图片

Hello.java

import java.applet.Applet;
import java.awt.*;

public class Hello extends Applet {

    // Java applet to draw "Hello World"
    public void paint (Graphics page) {
        page.drawString ("Hello World!", 50, 50);
    }
}

Hello.html

<HTML>
    <HEAD>
        <TITLE>HelloWorld Applet</TITLE>
    </HEAD>

    <BODY>
        <APPLET CODE="Hello.class" WIDTH=300 HEIGHT=150>
        </APPLET>
    </BODY>
</HTML>

错误

Hello : Unsupported major.minor version 52.0

可能是什么问题?


当前回答

我在安装一个新的Java 1.8时遇到了这种情况,但保留了旧的命令行解释器。

它有一个旧的路径,并继续使用Java 1.7执行应用程序,而项目已经使用Java 1.8构建。

其他回答

解决这个问题的聪明方法是使用最新的SDK进行编译,并在编译时使用交叉编译选项。要完全正确地使用这些选项,需要目标版本的JRE(而不是JDK)的rt.jar。

考虑到该applet的性质,它看起来可以被编译为与Java 1.1一起使用,这意味着您将使用javac -target 1.1。

我也有同样的问题……JDK和插件版本冲突。

我使用1.8编译…最近的一次,这条信息开始出现。 所以我搜索了JRE 7 (http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html)…并安装了它…再次…… 现在1.8和1.7在同一台计算机上。

使用NetBeans、编译和目标版本1.7解决了我的问题。

如果您正在使用NetBeans IDE,右键单击项目并选择属性并转到源代码,您可以将源代码/二进制格式更改为较低的JDK版本。

您需要在IDE中将编译器遵从级别更改回1.7。

这可以在IDE的首选项设置中完成。例如,在Eclipse中进入菜单Windows→Preferences,选择Java,并展开它。然后选择Compiler并将遵从级别更改为1.7。我相信从那时起就会起作用。

我想加上这个。我今天遇到了这个问题。调整了我的项目中的设置,重新构建,同样的问题。我曾经(错误地)假设更改我的项目(Eclipse)中的设置也会导致我的项目所依赖的项目也被重新编译。 调整依赖树中所有项目的设置就解决了这个问题。