最近项目升级jdk版本从8到21,某几个项目按照常规配置,ProjecrStruture,将项目的jdk设置为21后运行并无问题!
,当另一个项目想用同样的方法更改jdk时,改完后发现报错:
根据报错信息,应该是哪里设置了jdk18,于是查看配置信息,发现跟18相关的配置只有这个:、
于是随便修改个版本,选了个default
上面的报错解决了,但是编译又报如下错误:
点进去该方法发现时jdk21新特性的方法,这说明项目还是没有正确的配置jdk21,于是继续排查有关jdk的配置:
发现以上配置还是显示18,且下拉框中并无21的选项,直接手写输入21修改如下:
经过反复测试,发现只需要修改Target bytecode version即上图红框位置为21即可,项目成功运行。
结论,修改jdk版本:除了 ProjecrStruture几个位置需要修改配置,Java Compiler-- Target bytecode version也需要修改相应的版本,才可以正确是用新特性!