Java运行 Unsupported major.minor version 51.0 错误

今天写了简单的Java程序,运行的时候不知道为啥出现这个问题

happy@happy-HP-Compaq-dx7518-MT:~/Study/CrazyJava$ java FieldTest

Exception in thread “main” java.lang.UnsupportedClassVersionError: FieldTest : 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: FieldTest. Program will exit.

仔细检查后发现是因为Java的编译器和运行的版本不一样的问题造成的

java -version

“1.6.0_24”

javac -version

javac 1.7.0_09

典型的高版本编译,低版本运行。找到问题就简单了,可以配置路径搞定。我的是用apt-get安装的,源比较快,直接remove掉之前所有的版本

sudo apt-get remove openjdk*

然后重新安装

sudo apt-get install openjdk-7-jdk

问题搞定

About: happyhls


发表评论

电子邮件地址不会被公开。 必填项已用*标注