图片:

显示版本的命令提示符

错误图片

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

可能是什么问题?


当前回答

我通过删除旧版本的JRE并安装JRE 8解决了这个问题。

其他回答

我可以使用下面的解决方案来解决同样的问题。

在我的项目中,我添加了一个用Java 8创建的JAR文件。我的项目引用的是JRE 7。当我将项目JRE更改为8时,我的问题就解决了。

步骤:

在Eclipse中,右键单击项目资源管理器中的项目名称→构建路径→库→单击JRE版本→单击编辑→已安装JRE→添加→标准虚拟机→选择JRE home -path(路径应为localePath\java\jdk1.8.0_25\ JRE)→提供名称→保存→选择相同的JRE项目→完成→确定。刷新/构建项目一次→尝试运行Java文件。它应该会起作用。

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

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

如果你正在使用IntelliJ IDEA,进入项目结构(Ctrl + Alt + Shift + S),你可以改变项目的JDK。

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

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

如果您使用的是Linux,并且安装了不同版本的Java,请使用以下命令:

sudo update-alternatives --config java

这将提供在系统上安装的Java版本之间切换的快速方法。通过选择Java 8,我将解决您的问题。