Unsupported major.minor version xx.0 报错解决方案
启动项目后,编译class文件时出现Unsupported major.minor version错误,如图
一般由于不同的JDK版本使用的 major.minor version(主次版本号) 不同,所以会导致这个错误。
JDK版本 | 版本数字编号 |
---|---|
Java SE 10 | 54 (0x36 hex) |
Java SE 9 | 53 (0x35 hex) |
Java SE 8 | 52 (0x34 hex) |
Java SE 7 | 51 (0x33 hex) |
Java SE 6 | 50 (0x32 hex) |
Java SE 5 | 49 (0x31 hex) |
JDK 1.4 | 48 (0x30 hex) |
JDK 1.3 | 47 (0x2F hex) |
JDK 1.2 | 46 (0x2E hex) |
JDK 1.1 | 45 (0x2D hex) |
针对这种报错的解决,一般是查看项目的编译环境和运行环境的jdk是否一致,如不一致则将项目运行环境的jdk版本修改为IDE工具的编译环境的jdk版本即可,这里以MyEclipse为例:
左键依次单击Window - Preferences - Java - Installed JREs
相同页面下左键单击Java - Compiler
右键单击项目 - 左键依次单击Properties - Java Build Path - Libraries - JRE System Library 的jdk版本改为与IDE编译环境的jdk版本一致
相同页面下左键单击Java Compiler,修改Compiler compliance level同上
如果项目编译环境与运行环境的jdk版本一致但仍出现报错,则要查看当前项目所使用的tomcat版本与jdk版本是否兼容.Tomcat各版本兼容列表如下(可在官网查看):
如当前jdk版本为Java SE 6,则对应tomcat版本只能是7.0.x及更早版本.