当我尝试在我的一台计算机上运行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,这两种方法都不适用于我。 (合规级别之一不起作用,因为我使用了一些仅在Java 7中提供的功能。我之前使用过它并且它有效,但我需要Java 7中的一些功能。)
奇怪的是,该项目在我的另一台计算机上使用完全相同的文件,包括首选项文件和应用程序数据。如果我将它导出到任一台计算机上,它也可以工作,所以只有Eclipse的运行功能似乎被打破了。
我没有提供任何代码,因为没有单独的相关部分,所以我必须上传我的所有代码。
有没有解决方案,这不是我在本文前面提到过的那个?
编辑:如果重要的话,我的两台计算机都是Mac。
答案 0 :(得分:0)
两个选项:
您是否尝试过重建项目?我会建议CLEAN和REBUILD。如果这不起作用,请转到bin文件夹并删除其中的所有内容。 我怀疑eclipse没有清除其他计算机上的旧.class文件。
如果这不起作用,请参阅链接,因为它可能是路径问题。 正如另一篇文章所说:
发生java.lang.UnsupportedClassVersionError是因为在编译期间JDK较高,在运行时期间JDK较低。
因此,您需要检查您的设置和路径。很可能您可能正在使用不同的JDK版本/级别进行编译和运行。