У меня есть модульный тест со следующими аннотациями:
@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = TestConfiguration.class)
@TestPropertySource("classpath:application-test.properties")
Я использую Spring Boot 2.2.0 и Spring 5.2.0 и Junit Jupiter. Тест проверяет класс dao, используя базу данных H2 в памяти. Это работало до того, как я перешел на весеннюю загрузку 2.2.0. Я получаю сообщение об ошибке
java.lang.NoSuchFieldError: IMPORT_BEAN_NAME_GENERATOR
При отладке вижу
@Override
@Deprecated
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
registerBeanDefinitions(metadata, registry, ConfigurationClassPostProcessor.IMPORT_BEAN_NAME_GENERATOR);
}
в классе RepositoryBeanDefinitionRegistrarSupport. Я получаю исключение на registerBeanDefinitions
. Метод устарел, в документации сказано, что он заменен методом с тремя аргументами здесь . Когда я устанавливаю точку останова в ConfigurationClassPostProcessor
, где определено IMPORT_BEAN_NAME_GENERATOR
, код не достигает этого. Видимо, что-то использует старый метод, но я не могу выяснить, что есть. Когда я возвращаюсь к весенней загрузке 2.1.8, я не получаю эту ошибку.