项目正常启动,突然出现了问题,提示:
org/springframework/security/oauth2/client/registration/ClientRegistrationRepository has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0
说是java编译版本比当前运行的版本高。
奇怪,明明昨天还好好的。
试着找一下这个原因,发现 ClientRegistrationRepository这个类属于spring-security-oauth2-client包,而这个包,版本项目中使用时<version>是自动获取最新的版本:
然后拉下来的包是6.0.0-M1版本的。
去mvnrepository,发现居然没有这个版本,最高只到5.6.1:
突然想起,要不去官网看看,才发现:
它确实更新了6.0.0-M1这个版本,只不过 6.0.0-M1以后要用JDK17+版本才能使用,可支持JDK8的版本是5.7.0-M1。
好巧不巧,它17号发布的,我18号中的枪。怪不得之前都好好的。
估计spring其他模块或多或少也会这样,在此记录一下。
项目上把security的版本改为 5.7.0-M1,重新拉包,重启项目,没问题。
完美!!