在java运行过程中若出现以下问题:
Exception in thread “main” java.lang.UnsupportedClassVersionError: … :Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
造成这种问题的原因是jdk版本不支持,需要更换jdk版本。这里我选择是升级1.7版本改为1.8版本
根本原因:注册表里面的CurrentVersion的值设置的不对
解决方法:
1.快捷键window+r,输入cmd,然后在DOC窗口输入regedit进入注册表编辑器
2.进入注册表编辑器后,如下图所示,将1.7数据改为1.8
3.关掉重启问题则解决
若问题解决了,在DOC窗口输入java时又有下一个问题,如下所示:
出现这个问题的原因是:在C:\Program Files\Java\jdk1.7.0_80\bin这个目录下的三个exe:java,javaw,javaws,把原来的jdk1.8的 环境变量指向都覆盖了,我们需要删除这三个exe文件,删了之后系统就无法定位到jdk1.7指向的java,就无法设置环境变量,然后jdk1.8的环境变量就起作用了。
解决办法:
1.在C:\Windows\System32 目录下搜索java,出来三个exe:java,javaw,javaws。把这个三个exe全删掉,删掉之后如下图。
(这三个exe就是jdk安装的时候被复制到系统目录C:\Windows\System32 下的)
2.在环境变量Path中在%JAVA_HOME%\bin;后面编辑加入jdk1.8的路径。且确保JAVA_HOME里面的值是jdk1.8路径
3.在cmd中运行java -version,这样电脑jdk就为1.8版本了