程序报错:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘reactiveElasticsearchClient’ defined in class path resource [org/springframework/boot/autoconfigure/data/elasticsearch/ReactiveElasticsearchRestClientAutoConfiguration.class]: Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.springframework.data.elasticsearch.client.reactive.DefaultReactiveElasticsearchClient] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@251a69d7]
问题解析:
SpringBoot在启动过程中会通过启动类注解@SpringBootApplication中的自动配置注解@SpringBootConfiguration为第三方配置类创建bean对象。
这段错误表明 Spring Boot 在启动过程中,尝试创建 reactiveElasticsearchClient Bean 时出现了问题,最终导致应用启动失败。
解决方法:
由于我的程序没有用到reactiveElasticsearchClient,因此直接在启动类注解上加上如下代码,避免创建 reactiveElasticsearchClient Bean 即可解决程序报错。
@SpringBootApplication(exclude = ReactiveElasticsearchRestClientAutoConfiguration.class)