图片:

显示版本的命令提示符

错误图片

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

可能是什么问题?


当前回答

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

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

其他回答

解决这个问题的聪明方法是使用最新的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解决了我的问题。

这些答案对我都没有帮助,但我找到了一个解决方案。 我有一个在Wildfly 8.2中使用的webproject,用Maven构建,源和目标在Maven -compiler-plugin上设置为1.8,所有Eclipse和Maven设置都设置为Java 1.8。 问题是Wildfly 8.2不能处理Java 1.8,所以我必须将所有内容都设置为1.7,然后它就工作了。

当你在更高版本的java(比如jdk 1.8)上编译你的项目,然后在低版本的java(比如jdk 1.7)上运行时,就会发生这种情况。

如果你的项目路径中有JRE-1.7库,

1.右键单击项目

2.转到属性

3.选择项目方面

4.在行中找到Java,如果使用JRE-1.7,则选择version(例如1.7)

5.单击Apply并运行项目。

我在Mac OS X v10.9 (Mavericks)上的Eclipse中遇到了这个问题。我在Stack Overflow上尝试了很多答案…最后,在一整天之后,我*安装了一个新版本的Android SDK(并更新了Eclipse,菜单项目→属性→Android以使用新路径)*。

我不得不更新SDK,但只下拉那些我认为必要的更新,避免我不使用的api(如Wear和TV)。这就成功了。显然,我似乎在开发过程中损坏了我的SDK。

顺便说一句. .我确实在我的工作空间中看到了一个项目的错误重新出现,但它似乎与我没有使用的appcompat-7的导入有关。在rm-ing了那个项目之后,到目前为止还没有看到这个问题重新出现。