完整的报错信息:
类文件具有错误的版本 55.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。
原因:
上面报错中的55.0是JDK11使用的类文件格式(class file format)的版本号
提示的意思是当面项目使用的类文件格式版本比某个依赖包使用的类文件格式版本低
实际就是指当前项目使用的JDK版本比某个依赖包使用的JDK版本低
例如,新版Jetty(10.0.0或以上版本)使用了JDK11,一旦项目是使用JDK1.8并引用了新版Jetty组件就会报错
方法1:
修改项目使用的JDK版本为大于或等于依赖包的版本
File -> Project Structure -> Project -> Project SDK
方法2:
修改依赖包的版本号,一般旧版的组件使用的是旧版JDK
例如,修改Maven配置文件pom.xml中对应依赖包的<dependency><version></version></dependency>值
附:
如果搜索资料,会看到minor.major版本,但其实不叫这个名字。Sun公司会在大的版本升级时增加major数字,小更新或bug修复的版本增加minor数字
上面那个55.0实际上是Java class file format的major版本号,每代类文件格式大升级时都会+1,而minor版本号现在已经较少使用
各版本JDK使用的类文件格式版本号:
Major Minor JDK 45 3 1(.0.2) 45 3 1.1 46 0 1.2 47 0 1.3 48 0 1.4 49 0 5 50 0 6 51 0 7 52 0 8 53 0 9
54 0 10
55 0 11
56 0 12