简体   繁体   English

elasticsearch java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.formatSegments

[英]elasticsearch java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.formatSegments

I'm trying this basic elasticsearch example from there guide to use java client API in a spring boot project.我正在尝试这个基本的 elasticsearch 示例,该示例在 spring 引导项目中使用 java 客户端 API 指南。

but it gives me the following error when running:但它在运行时给我以下错误:

java.lang.NoSuchMethodError: org.apache.http.client.utils.URLEncodedUtils.formatSegments([Ljava/lang/String;)Ljava/lang/String;

here is my POM file .这是我的POM 文件

the code:代码:

public void retrieveAuditMessages() throws IOException {
        // Create the low-level client
        RestClient restClient = RestClient.builder(
            new HttpHost("localhost", 9200)
        ).build();

    // Create the transport with a Jackson mapper
    ElasticsearchTransport transport = new RestClientTransport(
            restClient, new JacksonJsonpMapper()
    );

    // Create the API client
    ElasticsearchClient client = new ElasticsearchClient(transport);
    
    SearchResponse<String> search = client.search(s -> s
            .index("logstash-wildfly*")
            .query(q -> q
                    .term(t -> t
                            .field("host")
                            .value(v -> v.stringValue("aboSaadoosh"))
                    )
            ),
            String.class);

    for(Hit<String> hit: search.hits().hits())
    {
        System.out.println(hit.source());
    }
}

I guess it's a problem with dependencies, but I don't know how to solve it.我猜是依赖关系的问题,但我不知道如何解决。

I'm using Elasticsearch version 8.1.1 java client API and spring boot 1.5.7.RELEASE我正在使用 Elasticsearch 版本8.1.1 java client API和 spring 启动1.5.7.RELEASE

I solved this by adding org.apache.httpcomponents:httpclient:4.5.13 explicitly in the POM file (instead of version org.apache.httpcomponents:httpclient:4.5.3 included by co.elastic.clients:elasticsearch-java:8.1.1 )我通过在 POM 文件中明确添加org.apache.httpcomponents:httpclient:4.5.13解决了这个问题(而不是 co.elastic.clients: co.elastic.clients:elasticsearch-java:8.1.1包含的版本org.apache.httpcomponents:httpclient:4.5.3co.elastic.clients:elasticsearch-java:8.1.1 )

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5.13</version>
</dependency>

I don't know if this is the correct way to solve it but anyway it worked for me.我不知道这是否是解决问题的正确方法,但无论如何它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 引起:java.lang.NoSuchMethodError: org.apache.http.conn.ssl.SSLConnectionSocketFactory - caused by: java.lang.NoSuchMethodError: org.apache.http.conn.ssl.SSLConnectionSocketFactory java.lang.NoSuchMethodError: 'org.elasticsearch.core.TimeValue org.elasticsearch.index.reindex.BulkByScrollResponse.getTook - java.lang.NoSuchMethodError: 'org.elasticsearch.core.TimeValue org.elasticsearch.index.reindex.BulkByScrollResponse.getTook() 来自 Spring-Boot 的高级 Rest 客户端 7.1.1:java.lang.NoSuchMethodError: org.elasticsearch.action.bulk.BulkRequest.pipeline()Ljava/lang/String; - High Level Rest client 7.1.1 from Spring-Boot : java.lang.NoSuchMethodError: org.elasticsearch.action.bulk.BulkRequest.pipeline()Ljava/lang/String; 引起原因:java.lang.NoSuchMethodError:org.apache.tomcat.util.res.StringManager.getManager(Ljava / lang / Class;) - Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.res.StringManager.getManager(Ljava/lang/Class;) java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.atDebug() 与 poi-ooxml - java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.atDebug() with poi-ooxml Spring Boot 错误:java.lang.NoSuchMethodError:org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter - Spring Boot Error: java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter Elasticsearch 和 Java Spring Boot:java.lang.NoSuchMethodError: - Elasticsearch and Java Spring Boot : java.lang.NoSuchMethodError: java.lang.NoSuchMethodError:org.apache.xml.security.transforms.Transform.register(Ljava / lang / String; Ljava / lang / Class;)V - java.lang.NoSuchMethodError: org.apache.xml.security.transforms.Transform.register(Ljava/lang/String;Ljava/lang/Class;)V java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder - java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder java.lang.NoSuchMethodError:org.apache.tomcat.JarScanner.scan(Ljavax / servlet / ServletContext; Ljava / lang / ClassLoader; Set;) - java.lang.NoSuchMethodError: org.apache.tomcat.JarScanner.scan(Ljavax/servlet/ServletContext;Ljava/lang/ClassLoader;Set;)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM