java:class文件的版本为错误的61.0,应为55.0

dw1jzc5e  于 2022-12-10  发布在  Java
关注(0)|答案(2)|浏览(1804)

我正在与Java 11的Maven和IntelliJ IDEA的Maven合作。
我正在尝试创建一个JsonTset类,就像您在屏幕截图中看到的那样:

但在以下导入中生成失败:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.json.JsonTest;
import org.springframework.boot.test.json.JacksonTester;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

错误为:

java: cannot access org.springframework.beans.factory.annotation.Autowired
  bad class file: /C:/Users/<username>/.m2/repository/org/springframework/spring-beans/6.0.2/spring-beans-6.0.2.jar!/org/springframework/beans/factory/annotation/Autowired.class
    **class file has wrong version 61.0, should be 55.0**
    Please remove or make sure it appears in the correct subdirectory of the classpath.

我知道它与Java版本有关,但找不到任何有效的解决方案。
使用Java 11在JAVA_HOME中设置。
我尝试过的方法:
1.将JDK更新为Java 11。

  1. java -版本提供:openjdk版本“11.0.17”2022年10月18日LTS
    1.更新IntelliJ中的项目以使用Java 11。
    1.删除.idea文件夹。
    1.无效高速缓存
    有人知道如何修复这个令人困惑的版本吗?
8tntrjer

8tntrjer1#

您使用的是Spring Framework 6,从Spring 6开始,支持的最低Java版本是Java 17(类版本61是Java 17的类版本)。
如Spring 6的Spring框架概述中所述:
从Spring Framework 6.0开始,Spring需要Java 17+。
所以,如果你想使用Spring 6,你需要升级到Java 17。如果你想继续使用Java 11,你需要降级到Spring 5.3。

tzdcorbm

tzdcorbm2#

可能是因为Java版本与Spring或Sping Boot 不一致。请检查您的Spring版本。以下是Spring Web站的片段:
我们计划在2022年11月发布Sping Boot 3.0。下一个主要版本将基于Spring Framework 6.0,需要Java 17或更高版本。它也将是第一个使用Jakarta EE 9 API(jakarta.)而不是EE 8(javax.)的Spring Boot版本。
https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0

相关问题