小编Pom*_*rin的帖子

ClassNotFoundException:Spring boot 中的 com.fasterxml.jackson.core.util.JacksonFeature,从 Elasticsearch HLRC 升级到 Java API 客户端

我想用 Elasticsearch 的新 Java API 客户端替换已弃用的高级 Rest 客户端。问题是,我不确定我的依赖项是否配置正确!我遇到了这个错误:

java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/util/JacksonFeature
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.util.JacksonFeature
Run Code Online (Sandbox Code Playgroud)

Elasticsearch 刚刚升级到 7.17.3,Spring Boot 现在是 2.2.8,稍后会升级,但我不确定这是否是问题所在?这是我在 pom 中的依赖项:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-webmvc-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>co.elastic.clients</groupId>
            <artifactId>elasticsearch-java</artifactId>
            <version>7.17.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.13.2</version>
        </dependency>
        <dependency>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
            <version>2.1.0</version>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

我按照Elasticsearch的文档进行操作,因此我也尝试使用 2.12.3 版本的 jackson-databind,但错误仍然存​​在。知道应该改变什么吗?谢谢!

编辑:以防万一它有帮助,这也是我的客户,这是需要依赖项的地方(我假设)

@Configuration
public class ElasticsearchClient{

   RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200)).build();
   ElasticsearchTransport transport = new …
Run Code Online (Sandbox Code Playgroud)

maven elasticsearch spring-boot elasticsearch-java-api

3
推荐指数
1
解决办法
9418
查看次数