繁体   English   中英

spring 启动 elasticsearch java.lang.NoSuchFieldError: INDEX_CONTENT_TYPE 错误

[英]spring boot elasticsearch java.lang.NoSuchFieldError: INDEX_CONTENT_TYPE error

java.lang.NoSuchFieldError: INDEX_CONTENT_TYPE 错误

Elasticsearch 版本:7.16.2

    // elasticsearch
    implementation 'org.springframework.data:spring-data-elasticsearch:4.3.0'
    implementation 'org.elasticsearch:elasticsearch:7.16.2'
    implementation 'org.elasticsearch.client:elasticsearch-rest-high-level-client:7.16.2'

    // jackson-core
    implementation 'com.fasterxml.jackson.core:jackson-core:2.13.1'
public <T> void bulk(String indexName, List<T> documents, Class<T> tClass) {
        elasticsearchIndex.setIndexName(indexName);
        List<IndexQuery> queries = new ArrayList<>();
        for (T document : documents) {
            IndexQuery query = new IndexQueryBuilder()
                    .withObject(document)
                    .build();
            queries.add(query);
        }
        IndexOperations indexOps = elasticsearchTemplate.indexOps(tClass);
        if (!indexOps.exists()) {
            indexOps.create();
            indexOps.putMapping(indexOps.createMapping());
        }
        elasticsearchTemplate.bulkIndex(queries, tClass); // error
    }
@Getter @Setter @ToString
@Document(indexName = "#{@elasticsearchIndex.getIndexName()}")

java.lang.NoSuchFieldError:INDEX_CONTENT_TYPE

删除 gradle 构建

并添加

implementation 'org.springframework.boot:spring-boot-starter-data-elasticsearch:2.6.2'

我遇到了同样的问题。 我通过将 Elastic Search 和依赖项从7.16降级到7.15解决了这个问题。

当前文档显示7.15.2是当前支持(或测试发布)的最高版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM