从实验室的机子上把项目拷贝的自己本本上,初始在jre上提示错误,将jre改到了本本上的版本,结果运行出错。
错误是下面这么一大串,感觉是版本问题。
java.lang.UnsupportedClassVersionError: MainFrame : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClassCond(Unknown Source)
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$000(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)
Exception in thread "main"
查了些资料,应该是低版本的没法运行高版本的。实验室用的是jdk1.7,自己本本是1.6的,故又装了jdk1.7.
然后问题来了。。
原来jdk6的时候,(比如装c:\java\jdk6),在c:\java下,还有一个文件夹jre6。我确信自己没有独自安装过jre,所以以为安装jdk的时候jre顺便装了。
但是发现装完jdk7以后,并没有在同层目录出现jre7,eclipse表示installed JREs 也只有jre6,晕死了。
这样运行还是出现上面的错误。然后不管了,在下面的图片里面点击installed JREs,然后直接选择jdk7的安装目录进行search、
search出来后勾选jdk7的版本,然后okok就可以了。再运行就不会出错了。
问了别人jdk和jre的区别。jdk给程序开发人用,可编译可运行,而jre只能运行,用来给一般用户使用。所以感觉就是jdk包含了jre,有jdk了jre就显得多余了。
不知道这么想对不对。反正在这里,行得通了。