可能重复:
线程"main"java.lang.UnsupportedClassVersionError中出现异常:a(不支持的major.minor版本51.0(
我在Mac&Windows不工作。相反,我得到了这个错误:
Exception in thread "main" java.lang.UnsupportedClassVersionError: menus/Main_Screen : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
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 Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
有人知道怎么解决这个问题吗?谢谢
class版本51.0由Java 7生成。
您正在尝试使用早期版本运行,可能是Java6。您需要调用Java 7版本的Java命令。
用于运行NetBeans的版本在NetBeans/etc/NetBeans.conf.中设置。
用于生成和运行项目的版本由项目属性设置
您可以通过Tools>Java Platforms 告诉NetBeans关于新的Java版本
Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(
您的java运行时版本似乎与编译时版本不同(较低(。
一般规则是这样的。
如果采用由Java版本早于JRE的版本编译的*.类,那么它应该在该JRE中工作。因为以后的JRE应该"知道"以前版本的格式。
如果采用由比JRE更晚的Java版本编译的*.class,则它不应在该JRE中工作。因为早期的JRE不应该知道格式的未来版本。
在您的情况下,代码只是由JRE版本之后发布的Java版本编译的。