ElasticSearch에서 high level client 연결하다가 발생한 BeanCreationException 에러❗
빈번하게 발생하는 BeanCreationException인데, 에러 원인은 아주 간단하다.
발생한 에러는 아래와 같다.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'client' defined in class path resource [com/yunixi/community/config/ElasticConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'client' threw exception; nested exception is java.lang.NoClassDefFoundError: org/elasticsearch/common/CheckedConsumer
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.15.jar:5.3.15]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.15.jar:5.3.15]

내가 놓친 부분은 application.yml에 설정을 제대로 안해두었고, build.gradle 에서 implementation이 제대로 안되어 있었던 것이다.
보통은, DB connection 하는 부분이랑 application.yml에서 빈번하게 발생해서 여기를 check 하면 된다.
[ESConfig.java] - Bean 설정부
@Configuration
public class ESConfig {
@Value("${ES.HOST}")
private String hostname;
@Value("${ES.PORT}")
private int port;
@Bean
public RestHighLevelClient client() {
return new RestHighLevelClient(
RestClient.builder(
new HttpHost(hostname, port, "http")
));
}
}
[application.yml]
spring:
main:
banner-mode: off
---
spring:
profiles: local
ES:
HOST: 127.0.0.1
PORT: 9200
[build.gradle]
//elasticSearch
implementation 'org.elasticsearch:elasticsearch:7.12.0'
implementation 'org.elasticsearch.client:elasticsearch-rest-high-level-client:7.12.1'
https://github.com/yunixi/community
GitHub - yunixi/community: Question and Answer (QnA) Project with ElasticSearch Engine and Java
Question and Answer (QnA) Project with ElasticSearch Engine and Java - GitHub - yunixi/community: Question and Answer (QnA) Project with ElasticSearch Engine and Java
github.com
직접 공부하여 작성한 내용입니다.
잘못된 부분 혹은 추가적인 내용이 있으면 알려주세요☺
'java story' 카테고리의 다른 글
intellij - github 연동하기 (0) | 2022.02.15 |
---|---|
[java] jdk download ( window 10에 java se 11 설치하기) (0) | 2022.02.14 |
[SPRING BOOT] Lombok 정리 및 설치하기(feat. gradle) (0) | 2022.02.08 |