org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError:
小结
这是我在创建索引的时候,报的一个错,,baidu了好久,一直提示的是版本过低才报这个错,但是我一开始就已经是7.10以上的版本,后来才发现原来是包导错了,可以观看下文,以后写代码的时候还是注意看一下包名。
更新依赖
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.17.21</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.17.21</version>
</dependency>
一开始的包
import org.elasticsearch.common.xcontent.XContentType;
更新完依赖后的包
import org.elasticsearch.xcontent.XContentType;
创建索引
public boolean create(RestHighLevelClient client,String indexName){
//判断indexName是否存在
if (existsIndex(client,indexName)) {
log.error("{}索引已存在",indexName);
return false;//已存在
}
CreateIndexRequest request = new CreateIndexRequest(indexName).source("{\"field\":\"value\"}", XContentType.JSON);
try {
return client.indices().create(request, RequestOptions.DEFAULT).isAcknowledged();
} catch (IOException e) {
throw new RuntimeException(e);
}
}