java story

[java ERROR] BeanCreationException 에러 해결하기

yunixi 2022. 2. 15. 22:57

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

 

직접 공부하여 작성한 내용입니다.

잘못된 부분 혹은 추가적인 내용이 있으면 알려주세요☺