zoukankan      html  css  js  c++  java
  • Failed to instantiate [org.elasticsearch.client.transport.TransportClient]

    Springboot 集成 ElasticSearch,springboot报错如下:

    Error starting ApplicationContext. To display the  auto-configuration report re-run your application with  'debug' enabled.
    2019-05-15 09:06:40.948 ERROR 15032 --- [  restartedMain]  o.s.boot.SpringApplication               : Application  startup failed
    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name  'elasticsearchDemoController': Unsatisfied dependency  expressed through field 'client'; nested exception is  org.springframework.beans.factory.BeanCreationException:  Error creating bean with name 'getTransportClient'  defined in class path resource  [cn/xdf/springboot/config/ESConfig.class]: Bean  instantiation via factory method failed; nested exception  is org.springframework.beans.BeanInstantiationException:  Failed to instantiate  [org.elasticsearch.client.transport.TransportClient]:  Factory method 'getTransportClient' threw exception;  nested exception is java.lang.NoClassDefFoundError:  org/apache/logging/log4j/Logger
         at  org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)  ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)  ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE]
         at  org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)  [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE]
         at  org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)  [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE]
         at  org.springframework.boot.SpringApplication.run(SpringApplication.java:303)  [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE]
         at  org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)  [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE]
         at  org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)  [spring-boot-1.5.9.RELEASE.jar:1.5.9.RELEASE]
         at  cn.xdf.springboot.Application.main(Application.java:18)  [classes/:na]
         at  sun.reflect.NativeMethodAccessorImpl.invoke0(Native  Method) ~[na:1.8.0_65]
         at  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
         at  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
         at java.lang.reflect.Method.invoke(Method.java:497)  ~[na:1.8.0_65]
         at  org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)  [spring-boot-devtools-1.5.9.RELEASE.jar:1.5.9.RELEASE]
    Caused by:  org.springframework.beans.factory.BeanCreationException:  Error creating bean with name 'getTransportClient'  defined in class path resource  [cn/xdf/springboot/config/ESConfig.class]: Bean  instantiation via factory method failed; nested exception  is org.springframework.beans.BeanInstantiationException:  Failed to instantiate  [org.elasticsearch.client.transport.TransportClient]:  Factory method 'getTransportClient' threw exception;  nested exception is java.lang.NoClassDefFoundError:  org/apache/logging/log4j/Logger
         at  org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)  ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         ... 24 common frames omitted
    Caused by:  org.springframework.beans.BeanInstantiationException:  Failed to instantiate  [org.elasticsearch.client.transport.TransportClient]:  Factory method 'getTransportClient' threw exception;  nested exception is java.lang.NoClassDefFoundError:  org/apache/logging/log4j/Logger
         at  org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         at  org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
         ... 36 common frames omitted
    当我按elasticsearch老版本2.x(2.4.6)引用maven文件时,如下:
    Failed to instantiate [org.elasticsearch.client.transport.TransportClient]
    org.elasticsearch.client低版本 报找不到getTransportClient()
    这是由于elasticsearch从5.x开始才有该新的jar包,需要引用如下(我引入的是5.2.2):
              <dependency>
                  <groupId>org.elasticsearch</groupId>
                  <artifactId>elasticsearch</artifactId>
                  <version>5.2.2</version>
              </dependency>

    另外,elasticsearch 5.x中需要log4j的一些依赖,需要添加,在pom.xml中添加如下maven配置:

            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.7</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.7</version>
            </dependency>

    再次启动springboot成功。

    (后面发现,由于我的elasticsearch是Windows-6.2.2版的,而对于的elasticsearch需要至少5.6.0版,虽然springboot启动正常,但上面引入的5.2.2会导致elasticsearch-6.2.2-Windows 后台报错!)

     
     
  • 相关阅读:
    BISDN上收集到的SAP BI的极好文章的链接
    如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
    如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
    BWABAP to copy aggregates from one cube to another
    SDva01的屏幕增强
    js鼠标悬停效果
    MySQL更新UPDATA的使用
    使用mysql C语言API编写程序—MYSQL数据库查询操作
    MySQL的部分基础语句
    MySQLdelete某个元组||、&&操作
  • 原文地址:https://www.cnblogs.com/zs-notes/p/10868346.html
Copyright © 2011-2022 走看看