【发布时间】:2011-12-02 00:32:59
【问题描述】:
我在 Eclipse 中做作业,它没有报告任何错误,甚至没有警告。当我尝试从终端编译它时,出现以下错误。它可以使用 eclipse 运行和编译。我认为它与java版本有关吗?无论如何要修复它或尝试绕过它?
vedran@vedran-debian:~/java/oop/Aufgabe6$ java Test
Exception in thread "main" java.lang.UnsupportedClassVersionError: Test : 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: Test. Program will exit.
Java 版本:
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
编辑:
谢谢大家的解释。这似乎是一个 java6/7 问题。我刚刚用 1.6 编译它,它就像魅力一样。
【问题讨论】:
-
呃,OpenJDK?你需要用那个吗?否则我强烈推荐使用真正的 java JDK。
-
@Shakedown 为什么?他们是等价的,这不是他的问题。
-
OpenJDK 7 不是新的真正 (Sun/Oracle) JDK 吗? OpenJDK 6 是在 Oracle 6 和 OpenJDK 7 之间开发的东西?
-
它们绝对不相等......如果它们是那么为什么会存在。您可能是对的,这与此无关,但我遇到了最终由使用 OpenJDK 引起的困难错误。
-
OpenJDK 6 和 Oracle 6 不一样。正确的。我也遇到了问题。所以直到现在我才接触 OpenJDK 7。