为了账号安全,请及时绑定邮箱和手机立即绑定

引起原因:java.lang.ClassNotFoundException:

引起原因:java.lang.ClassNotFoundException:

莫回无 2021-04-04 20:27:18
我正在使用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 回答

?
子衿沉夜

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>标记可以省略。


查看完整回答
反对 回复 2021-04-28
?
喵喔喔

TA贡献1735条经验 获得超5个赞

<dependency> 

    <groupId>org.elasticsearch.client</groupId> 

    <artifactId>transport</artifactId> 

</dependency>

这为我解决了。


查看完整回答
反对 回复 2021-04-28
  • 2 回答
  • 0 关注
  • 546 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信