1

可能重复:
不支持的主要 .minor 版本 51.0

我做了一个简单的java程序

class MyProg{    
  public static void main(String args[]){    
  System.out.println("Hello World");      }
}

但是当我尝试运行它时会发生这种情况

wil@wil-ThinkPad-T42:~/Dropbox/java$ javac -g MyProg.java
wil@wil-ThinkPad-T42:~/Dropbox/java$ java MyProg
Exception in thread "main" java.lang.UnsupportedClassVersionError: MyProg : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: MyProg. Program will exit.

程序有什么问题?

4

3 回答 3

1

您的 Java 工具链似乎是错误的。该程序对我来说看起来不错。我认为这有帮助:

http://notroswell.com/technical-articles/java-version-mismatch/

于 2013-02-03T18:06:41.563 回答
0

您正在使用比用于编译该类的编译器更旧的 Java 虚拟机执行您的类。

于 2013-02-03T18:05:40.657 回答
0

java.lang.UnsupportedClassVersionError发生的原因是编译时 JDK 较高,而运行时 JDK 较低。

显示的版本号描述了类文件兼容的 JRE 版本。

J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
于 2013-02-03T18:09:30.980 回答