Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/common/xcontent/DeprecationHandler
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.14.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.14.0</version>
</dependency>
总结
两个依赖完美解决,这个是我找了一晚上的报错,才知道原来es需要这两个以来都存在才能使用。
Elasticsearch客户端库未包含在类路径中:如果你的项目依赖于Elasticsearch的客户端库(例如,用于与Elasticsearch服务器通信的Elasticsearch Java High Level REST Client),那么必须确保这个库(及其所有依赖项)都已被正确地添加到项目的类路径中。
依赖冲突:如果你的项目中包含了多个版本的Elasticsearch客户端库,或者与其他库存在依赖冲突,可能会导致类加载器无法找到正确的类。使用Maven或Gradle等构建工具时,可以使用它们的依赖树查看功能来检查依赖关系。
Elasticsearch版本不兼容:如果你的项目依赖的Elasticsearch客户端库版本与服务器或其他库不兼容,也可能会出现这种错误。确保所有组件都使用兼容的版本。