0

当我尝试在我的一台计算机上运行 Eclipse 中的 Java 程序时,我收到此错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: gameLogics/Game : Unsupported major.minor version 51.0

at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我在互联网上搜索并找到了多种解决方案,但他们都只是说我试图用比我编译它的旧版本的 Java 运行它。唯一的解决方案是重新下载 Java 或将 Eclipse 的合规级别设置为 1.6,这两种方法都不适合我。(合规级别 1 不起作用,因为我使用了一些仅在 Java 7 中可用的功能。我之前确实使用过它并且它有效,但我需要 Java 7 中的一些功能。)

奇怪的是,该项目在我的另一台计算机上使用完全相同的文件完美运行,包括首选项文件和应用程序数据。如果我在任何一台计算机上导出它也可以工作,所以只有 Eclipse 的运行功能似乎被破坏了。

我没有提供任何代码,因为没有一个相关部分,所以我必须上传我的所有代码。

是否有任何解决方案不是我在本文前面提到的解决方案之一?

编辑:如果重要的话,我的两台电脑都是 Mac。

4

1 回答 1

0

两种选择:

  1. 这是一个路径问题:请参阅:线程“main”中的异常 java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)
  2. 您需要重建类文件。

您是否尝试过重建您的项目?我会建议清洁和重建。如果这不起作用,请转到 bin 文件夹并删除其中的所有内容。我怀疑 Eclipse 没有从另一台计算机上清除旧的 .class 文件。

如果这不起作用,请查看链接,因为它可能是路径问题。正如另一篇文章所说:

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

因此,您需要检查您的设置和路径。您很可能正在使用不同的 JDK 版本/级别进行编译和运行。

于 2014-01-06T00:44:17.757 回答