一个很简单的小程序,程序内容如下:
import java.util.*;
import java.io.*;
public class test
{
public static void main(String[] args)
{
System.out.println("Hello JAVA");
}
}
javac test.java可以正常生成test.class,
但是运行java test 的时候报错,报错内容如下:
Exception in thread "main" java.lang.UnsupportedClassVersionError: test (Unsuppo
rted major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
------解决方案--------------------
使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行
------解决方案--------------------
------解决方案--------------------
很明显是拿高版本的javac编译后的字节码到低版本的jre上运行造成的错误。
------解决方案--------------------
你很有可能装了 多个 jdk..
最好只保留一个..