【001 】報錯:Caused by: java.lang.ClassNotFoundException: org.elasticsearch.client.Cancellable
【002 】 報錯說的什麼意思? 類未找到異常 ,找不到的是 org.elasticsearch.client.Cancellable
【003】最終解決: 把低版本的依賴進(ava Low Level REST Client)來即可,同時排除掉低版本的依賴
【依賴如下可解決報錯】:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.6.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.6.2</version>
<exclusions>
<exclusion>
<artifactId>elasticsearch-rest-client</artifactId>
<groupId>org.elasticsearch.client</groupId>
</exclusion>
</exclusions>
</dependency>
如果有用點個贊,沒用的話路過即可
打開看看 ctrl+N (org.elasticsearch.client.Cancellable)
7.6.2 下面的 只是個屬性,確實沒有,
再打開類 Cancellable,確實有,那麼這個是不是依賴造成的呢? 結合官網上的說明
The Java High Level REST Client works on top of the Java Low Level REST client
high的是建立在low的基礎上,那麼引進低的,排除一下依賴
詳見官網說明:
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.6/java-rest-high.html
6.8.7的有這個接口
報錯如下:
官網實際上已有答案 高版本依賴低版本