原因:
JDK 9 及以上已废弃对 Java 5 的支持,若未显式指定编译版本,工具(IDEA/Maven)默认回退到 Java 5,或手动配置了-source 5/-target 5,导致高版本 JDK 编译冲突。
解决步骤如下:
1、选择 File ->Project Structure
2、检查项目配置里的「SDKs」和「Language level」项,确认其 JDK 版本是否与项目要用的 JDK 一样;若版本不匹配,需将这两处的 JDK 配置统一修改为要用的jdk版本,保证编译环境的 JDK 版本完全对齐。在这博主用的是jdk17,所以以下的配置都会改成jdk17
3、检查 Modules(模块)下的ModuleSDK 配置项,确认其版本是否与目标使用的 JDK 一致;若版本不匹配,将该模块的 SDK 版本调整为 项目所需的jdk,保证模块级别的 JDK 配置与项目整体配置统一。
4、在SDKs中选择要用的jdk,点击apply和OK即可,因为博主的配置没有修改,apply是灰的,修改过了,apply是可以点击的,记得先应用在点OK,否则配置会失效。
5、点击 File->Settings
6、找到Build,Execution,Development ->Compiler ->Java Compiler,将project bytecode version 和modulesbytecode version 的jdk版本改为项目所需版本
7、如果是Maven项目,还需要在该项目的pom.xml文件中,找到<build>标签下的<plugins>节点,配置maven-compiler-plugin插件:将编译的源版本(source)和目标字节码版本(target) 均指定为项目需要的jdk版本,同时设置编码为 UTF-8。
把项目 SDK、模块 SDK、Maven 编译插件这几处的版本都统一配置为 项目所需JDK 版本后,刷新项目并重新编译,就能解决版本不兼容的报错啦。