Java错误,请帮帮我

时间:2012-05-06 03:12:25

标签: java compiler-errors

  

可能重复:
  Unsupported major.minor version 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运行时环境(版本1.6.0_31-b05) Java HotSpot(TM)64位服务器VM(内置20.6-b01,混合模式)

javac 1.7.0_04

2 个答案:

答案 0 :(得分:1)

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

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

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


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

答案 1 :(得分:1)

看到你使用jdk6运行和jdk7编译,你将不得不改变你的路径/类路径设置以反映jdk7