我正在与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。
- java -版本提供:openjdk版本“11.0.17”2022年10月18日LTS
1.更新IntelliJ中的项目以使用Java 11。
1.删除.idea文件夹。
1.无效高速缓存
有人知道如何修复这个令人困惑的版本吗?
2条答案
按热度按时间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。
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