java.lang.NoSuchFieldError: IMPORT_BEAN_NAME_GENERATOR

Chr*_*ine 6 java spring-boot

我有一个带有以下注释的单元测试:

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = TestConfiguration.class)
@TestPropertySource("classpath:application-test.properties")
Run Code Online (Sandbox Code Playgroud)

我使用 Spring Boot 2.2.0 和 Spring 5.2.0 以及 Junit Jupiter。该测试使用内存中的 H2 数据库测试 dao 类。在我切换到 Spring Boot 2.2.0 之前,这曾经有效。我收到一个错误

java.lang.NoSuchFieldError: IMPORT_BEAN_NAME_GENERATOR
Run Code Online (Sandbox Code Playgroud)

当我调试时,我看到

@Override
@Deprecated
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
    registerBeanDefinitions(metadata, registry, ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR);
}
Run Code Online (Sandbox Code Playgroud)

在类 RepositoryBeanDefinitionRegistrarSupport 中。我在registerBeanDefinitions. 该方法已弃用,文档说它被替换为具有三个参数的方法here。当我在定义的ConfigurationClassPostProcessor位置设置断点时IMPORT_BEAN_NAME_GENERATOR,代码不会到达那里。显然,有些东西正在使用旧方法,但我不知道是什么。当我回到 spring boot 2.1.8 时,我没有收到此错误。