我正在使用Spring Boot 2.0.3 Release,并且在实例化时遇到问题org.elasticsearch.client.Client。我的代码:Client client = new PreBuiltTransportClient(Settings.builder() .put("cluster.name", clustername) .build()) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(host), port));这段代码给我错误:Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/transport/Netty3Pluginat org.elasticsearch.transport.client.PreBuiltTransportClient.<clinit>(PreBuiltTransportClient.java:91) ~[transport-5.6.10.jar:5.6.10]at kz.icode.idmatrix.config.ElasticsearchConfiguration.client(ElasticsearchConfiguration.java:56) ~[classes/:na]at kz.icode.idmatrix.config.ElasticsearchConfiguration$$EnhancerBySpringCGLIB$$7e53ae93.CGLIB$client$0(<generated>) ~[classes/:na]at kz.icode.idmatrix.config.ElasticsearchConfiguration$$EnhancerBySpringCGLIB$$7e53ae93$$FastClassBySpringCGLIB$$fef36179.invoke(<generated>) ~[classes/:na]at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-5.0.7.RELEASE.jar:5.0.7.RELEASE]at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE]at kz.icode.idmatrix.config.ElasticsearchConfiguration$$EnhancerBySpringCGLIB$$7e53ae93.client(<generated>) ~[classes/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]
2 回答
![?](http://img1.sycdn.imooc.com/533e4c420001b2e502000200-100-100.jpg)
子衿沉夜
TA贡献1828条经验 获得超3个赞
并非仅通过添加就可以满足所有依赖关系spring-boot-starter-data-elasticsearch。
必须明确定义所有剩余的依赖项:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>transport-netty4-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
如果您已声明为父母,则最有可能的<version>标记可以省略。
![?](http://img1.sycdn.imooc.com/533e4c1500010baf02200220-100-100.jpg)
喵喔喔
TA贡献1735条经验 获得超5个赞
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
</dependency>
这为我解决了。
添加回答
举报
0/150
提交
取消