ES5.6.16客户端连接报错java.lang.ClassNotFoundException: org.elasticsearch.http.AbstractHttpServerTransport

ES5.6.16客户端连接报错java.lang.ClassNotFoundException: org.elasticsearch.http.AbstractHttpServerTransport,第1张

ES5.6.16客户端连接报错java.lang.ClassNotFoundException: org.elasticsearch.http.AbstractHttpServerTransport 背景

一直依赖都是用spring-data-elasticsearch,今天项目上突然有一个需求,要以SpringMVC的方式引入es client;

解决方案

先在pom中添加相应版本的elasticsearch依赖:


    org.elasticsearch
    elasticsearch
    5.6.16
    
        
            commons-logging
            commons-logging
        
    

添加这个之后如果还不能解决问题,再在pom中添加transport-netty4-client依赖:


    org.elasticsearch.plugin
    transport-netty4-client
    5.6.16

因为在报错中会有那么一句,表示版本冲突;

报错详细
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2022-01-06 13:08:50.489 ERROR 68856 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'inventoryController' defined in file [/Users/zhouxin/ideaWorkplace/tms-test/target/classes/com/saint/controller/InventoryController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transportClient' defined in class path resource [com/saint/cleanInventoryLine/ElasticSearchConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.transport.TransportClient]: Factory method 'transportClient' threw exception; nested exception is java.lang.NoClassDefFoundError: org/elasticsearch/http/AbstractHttpServerTransport
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1354) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1204) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.6.jar:5.3.6]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.6.jar:5.3.6]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.5.jar:2.4.5]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:782) [spring-boot-2.4.5.jar:2.4.5]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:774) [spring-boot-2.4.5.jar:2.4.5]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) [spring-boot-2.4.5.jar:2.4.5]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:339) [spring-boot-2.4.5.jar:2.4.5]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1340) [spring-boot-2.4.5.jar:2.4.5]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329) [spring-boot-2.4.5.jar:2.4.5]
	at com.saint.StartApplication.main(StartApplication.java:10) [classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_275]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_275]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_275]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_275]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.4.5.jar:2.4.5]
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transportClient' defined in class path resource [com/saint/cleanInventoryLine/ElasticSearchConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.transport.TransportClient]: Factory method 'transportClient' threw exception; nested exception is java.lang.NoClassDefFoundError: org/elasticsearch/http/AbstractHttpServerTransport
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.6.jar:5.3.6]
	... 25 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.transport.TransportClient]: Factory method 'transportClient' threw exception; nested exception is java.lang.NoClassDefFoundError: org/elasticsearch/http/AbstractHttpServerTransport
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.6.jar:5.3.6]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.6.jar:5.3.6]
	... 39 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/http/AbstractHttpServerTransport
	at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_275]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:757) ~[na:1.8.0_275]
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.8.0_275]
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) ~[na:1.8.0_275]
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74) ~[na:1.8.0_275]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369) ~[na:1.8.0_275]
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363) ~[na:1.8.0_275]
	at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_275]
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362) ~[na:1.8.0_275]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:419) ~[na:1.8.0_275]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[na:1.8.0_275]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352) ~[na:1.8.0_275]
	at org.elasticsearch.transport.Netty4Plugin.getSettings(Netty4Plugin.java:56) ~[transport-netty4-client-7.9.3.jar:5.6.16]
	at org.elasticsearch.plugins.PluginsService.lambda$getPluginSettings$0(PluginsService.java:83) ~[elasticsearch-5.6.16.jar:5.6.16]
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:269) ~[na:1.8.0_275]
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) ~[na:1.8.0_275]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[na:1.8.0_275]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[na:1.8.0_275]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_275]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_275]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566) ~[na:1.8.0_275]
	at org.elasticsearch.plugins.PluginsService.getPluginSettings(PluginsService.java:83) ~[elasticsearch-5.6.16.jar:5.6.16]
	at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:136) ~[elasticsearch-5.6.16.jar:5.6.16]
	at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:268) ~[elasticsearch-5.6.16.jar:5.6.16]
	at org.elasticsearch.transport.client.PreBuiltTransportClient.(PreBuiltTransportClient.java:133) ~[transport-5.6.16.jar:5.6.16]
	at org.elasticsearch.transport.client.PreBuiltTransportClient.(PreBuiltTransportClient.java:119) ~[transport-5.6.16.jar:5.6.16]
	at org.elasticsearch.transport.client.PreBuiltTransportClient.(PreBuiltTransportClient.java:109) ~[transport-5.6.16.jar:5.6.16]
	at com.saint.cleanInventoryLine.ElasticSearchConfig.transportClient(ElasticSearchConfig.java:35) ~[classes/:na]
	at com.saint.cleanInventoryLine.ElasticSearchConfig$$EnhancerBySpringCGLIB$$7a62da0e.CGLIB$transportClient$0() ~[classes/:na]
	at com.saint.cleanInventoryLine.ElasticSearchConfig$$EnhancerBySpringCGLIB$$7a62da0e$$FastClassBySpringCGLIB$$42c35d9f.invoke() ~[classes/:na]
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.6.jar:5.3.6]
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.6.jar:5.3.6]
	at com.saint.cleanInventoryLine.ElasticSearchConfig$$EnhancerBySpringCGLIB$$7a62da0e.transportClient() ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_275]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_275]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_275]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_275]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.6.jar:5.3.6]
	... 40 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.http.AbstractHttpServerTransport
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_275]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:419) ~[na:1.8.0_275]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) ~[na:1.8.0_275]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352) ~[na:1.8.0_275]
	... 78 common frames omitted

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5699360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存