В настоящее время я мигрирую наш сервис с Elasticsearch 8.18.2 до 9.0.2. < /p>
К сожалению, я получаю < /p>
Caused by: java.lang.NoClassDefFoundError: org/apache/hc/client5/http/ConnectTimeoutException
at co.elastic.clients.transport.rest5_client.Rest5ClientTransport.buildRest5Client(Rest5ClientTransport.java:65)
at co.elastic.clients.transport.rest5_client.Rest5ClientTransport.(Rest5ClientTransport.java:42)
at co.elastic.clients.transport.ElasticsearchTransportConfig$Default.buildTransport(ElasticsearchTransportConfig.java:110)
at co.elastic.clients.elasticsearch.ElasticsearchClient.of(ElasticsearchClient.java:188)
< /code>
При запуске службы. < /p>
Чтобы дать вам небольшой контекст, Elastichsearch завершен в нашей собственной библиотеке поиска: < /p>
levasticsearch выглядит следующим образом: < /p>
co.elastic.clients
elasticsearch-java
< /code>
Древо зависимости MVN дает нам: < /p>
% mvn dependency:tree -Dincludes=org.apache.httpcomponents
...
[INFO] --- dependency:3.8.1:tree (default-cli) @ skw-pcs-search-elasticsearch ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Однако, когда я анализирую зависимости в интеллекте, это говорит:
Там, что на пружине, на пружине, на пружине, на пружине, на пружине, на пружине, на пружине, в ботине, на пружине, на пружине, на пружине, в ботине, на пружине. TestContainer. Этот тест успешно. Все хорошо. Вот где все это ломается. Сборка Maven успешна, но при запуске службы я получаю ошибку noclassdeffound свыше. class = "lang-xml prettyprint-override">
org.apache.httpcomponents.core5
httpcore5
5.3.4
org.apache.httpcomponents.client5
httpclient5
5.5
< /code>
elasticsearch Client создается с помощью: < /p>
@Bean
public ElasticsearchClient elasticsearchClient(PcsSearchIndexSettings settings) {
return ElasticsearchClient.of(builder -> builder
.host("%s://%s:%d".formatted(
settings.getProtocol(),
settings.getHost(),
settings.getPort()))
);
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... arch-9-0-2