NoSuchMethodError RequestOptions$Builder.removeHeader when creating a client
editNoSuchMethodError RequestOptions$Builder.removeHeader
when creating a client
editIn certain contexts you may encounter an error when creating the ElasticsearchClient
saying that the method RequestOptions$Builder.removeHeader
does not exist:
java.lang.NoSuchMethodError: 'org.elasticsearch.client.RequestOptions$Builder org.elasticsearch.client.RequestOptions$Builder.removeHeader(java.lang.String)'
This method was introduced in elasticsearch-rest-client
version 7.16.0. The error happens because your project is using an older version of this dependency.
This happens in particular when the project is using the Spring Boot Maven Plugin, as this plugin defines versions for commonly used libraries, including elasticsearch-rest-client
. Depending on the version of Spring Boot used in the project, that version may be outdated.
To solve this issue, you have to add the elasticsearch-rest-client
dependency explicitly in your project, with the same version as elasticsearch-java
(see also Installation).
Using Gradle:
implementation 'org.elasticsearch.client:elasticsearch-rest-client:7.17.26'
Using Maven:
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>7.17.26</version> </dependency>