# Encountering NoSuchMethodError when Creating Elasticsearch Client

**URL:** https://discuss.elastic.co/t/encountering-nosuchmethoderror-when-creating-elasticsearch-client/359763
**Category:** Elasticsearch
**Tags:** language-clients
**Created:** [May 19, 2024, 2:07pm UTC](https://discuss.elastic.co/t/encountering-nosuchmethoderror-when-creating-elasticsearch-client/359763 "2024-05-19T14:07:13Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Robin12](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/robin12/32/124316_2.png) [@Robin12](https://discuss.elastic.co/u/Robin12)
#### Post date: [May 19, 2024, 2:07pm UTC](https://discuss.elastic.co/t/encountering-nosuchmethoderror-when-creating-elasticsearch-client/359763/1 "2024-05-19T14:07:13Z")

</div>

I encountered a **NoSuchMethodError** when attempting to create an Elasticsearch client object in my Spring Boot Maven project. The error occurred specifically at the instantiation of the **RestClientTransport** object within the Elasticsearch Java API.

**Error Message:**

```auto
Exception in thread "main" java.lang.NoSuchMethodError: org.elasticsearch.client.RequestOptions$Builder.setHttpAsyncResponseConsumerFactory(Lorg/elasticsearch/client/HttpAsyncResponseConsumerFactory;)Lorg/elasticsearch/client/RequestOptions$Builder;

```

**Code Snippet:**

```auto
try {
    RestClient restClient = RestClient.builder(
            new HttpHost("localhost", 9200, "http")).build();
    ElasticsearchTransport transport = new RestClientTransport(
            restClient, new JacksonJsonpMapper());
    ElasticsearchClient esClient = new ElasticsearchClient(transport);
    System.out.println("ESClient "+esClient);
} catch(Exception ex) {
    System.out.println("Unable to create Elasticsearch client: "+ ex);
    // Handle exception appropriately
}

```

**Imported Dependencies:**

```auto
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.17.0</version>
</dependency>

<dependency>
    <groupId>co.elastic.clients</groupId>
    <artifactId>elasticsearch-java</artifactId>
    <version>8.13.4</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.17.0</version>
</dependency>

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>8.13.4</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.3</version>
</dependency>

<dependency>
    <groupId>jakarta.json</groupId>
    <artifactId>jakarta.json-api</artifactId>
    <version>2.0.1</version>
</dependency>

```

**Environment Details:**

- **Elasticsearch Version:** 8.12.0
- **Application Type:** Spring Boot Maven project

**Class Imports:**

```auto
import org.elasticsearch.client.RestClient;
import org.apache.http.HttpHost;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import co.elastic.clients.elasticsearch.cluster.HealthResponse;

```

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [May 22, 2024, 12:48pm UTC](https://discuss.elastic.co/t/encountering-nosuchmethoderror-when-creating-elasticsearch-client/359763/2 "2024-05-22T12:48:01Z")

</div>

You are missing 7.x deps with 8.x deps which you should not do IMO.

I'd remove this part:

```
<dependency>
 <groupId>org.elasticsearch.client</groupId>
 <artifactId>elasticsearch-rest-high-level-client</artifactId>
 <version>7.17.0</version>
</dependency>

```

And then see what happens.
