-1

可能重复:
不支持的 major.minor 版本 49.0

好吧,伙计们,我刚刚安装了 JDK 7,我在 Windows 7 上。我只是想编译和运行一个简单的“hello world”,我从某个地方复制了它,因为我不知道我到底是什么我还在做。我已经设置了 PATH ,当我使用 javac 时,我认为它编译时不会出错,但是当我尝试运行它时,我得到:

Exception in thread "main" java.lang.UnsupportedClassVersionError: apples : Unsu
pported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$000(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: apples.  Program will exit.

不知道这是否有帮助,哈哈,但感谢任何知道这里发生了什么的人。

java 版本 "1.6.0_31" Java(TM) SE Runtime Environment (build 1.6.0_31-b05) Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, 混合模式)

javac 1.7.0_04

4

2 回答 2

1

这个答案可能是多余的,但问题是您用于运行程序的 JVM 不是您刚刚安装的 Java 7 JVM。它是一个较旧的版本,它不理解您要求它运行的 (Java 7) .class 文件。

Greg Hewgill 建议您运行java -versionjavac -version. 这些将告诉您实际运行的 Java 版本……与您认为正在运行的版本不同。

解决方案是(可能)是更新%PATH%当前指向较旧的 java 安装的您。


java -version您添加到问题中的输出javac -version意味着您正在使用 Java 7 进行编译并使用 Java 6 运行。这绝对是您的问题的原因。修复您的%PATH变量,以便您使用相同的工具集进行编译和运行。(这是最简单的解决方案......)

于 2012-05-06T03:32:23.907 回答
1

看到您使用 jdk6 运行并使用 jdk7 编译,您将不得不更改路径/类路径设置以反映 jdk7

于 2012-05-06T03:36:03.610 回答