1
resposta

[Dúvida] Usando o Chat GPT para traduzir a sinopse

Esta dando esse erro ao listar as series armazenadas e traduzidas, alguém pode me ajudar

Digite a opção que deseja buscar:3
2024-05-28T08:21:03.618-03:00  INFO 10292 --- [screenmatch] [           main] .s.b.a.l.ConditionEvaluationReportLogger : 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-05-28T08:21:03.648-03:00 ERROR 10292 --- [screenmatch] [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    com.fasterxml.jackson.databind.ObjectWriter.writeValueAsBytes(ObjectWriter.java:1172)

The following method did not exist:

    'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()'

The calling method's class, com.fasterxml.jackson.databind.ObjectWriter, was loaded from the following location:

    jar:file:/C:/Users/Leandro/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.17.1/jackson-databind-2.17.1.jar!/com/fasterxml/jackson/databind/ObjectWriter.class

The called method's class, com.fasterxml.jackson.core.util.BufferRecycler, is available from the following locations:

    jar:file:/C:/Users/Leandro/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.4/jackson-core-2.15.4.jar!/com/fasterxml/jackson/core/util/BufferRecycler.class

The called method's class hierarchy was loaded from the following locations:

    com.fasterxml.jackson.core.util.BufferRecycler: file:/C:/Users/Leandro/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.4/jackson-core-2.15.4.jar


Action:

Correct the classpath of your application so that it contains compatible versions of the classes com.fasterxml.jackson.databind.ObjectWriter and com.fasterxml.jackson.core.util.BufferRecycler

Exception in thread "main" java.lang.IllegalStateException: java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()'
    at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:825)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:344)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
    at br.com.alura.screenmatch.ScreenmatchApplication.main(ScreenmatchApplication.java:20)
Caused by: java.lang.NoSuchMethodError: 'void com.fasterxml.jackson.core.util.BufferRecycler.releaseToPool()'
    at com.fasterxml.jackson.databind.ObjectWriter.writeValueAsBytes(ObjectWriter.java:1172)
    at retrofit2.converter.jackson.JacksonRequestBodyConverter.convert(JacksonRequestBodyConverter.java:35)
    at retrofit2.converter.jackson.JacksonRequestBodyConverter.convert(JacksonRequestBodyConverter.java:24)
    at retrofit2.ParameterHandler$Body.apply(ParameterHandler.java:429)
    at retrofit2.RequestFactory.create(RequestFactory.java:129)
    at retrofit2.OkHttpCall.createRawCall(OkHttpCall.java:208)
    at retrofit2.OkHttpCall.getRawCall(OkHttpCall.java:107)
    at retrofit2.OkHttpCall.execute(OkHttpCall.java:197)
    at retrofit2.adapter.rxjava2.CallExecuteObservable.subscribeActual(CallExecuteObservable.java:46)
    at io.reactivex.Observable.subscribe(Observable.java:10151)
    at retrofit2.adapter.rxjava2.BodyObservable.subscribeActual(BodyObservable.java:35)
    at io.reactivex.Observable.subscribe(Observable.java:10151)
    at io.reactivex.internal.operators.observable.ObservableSingleSingle.subscribeActual(ObservableSingleSingle.java:35)
    at io.reactivex.Single.subscribe(Single.java:2517)
    at io.reactivex.Single.blockingGet(Single.java:2001)
    at com.theokanning.openai.service.OpenAiService.execute(OpenAiService.java:317)
    at com.theokanning.openai.service.OpenAiService.createCompletion(OpenAiService.java:121)
    at br.com.alura.screenmatch.service.ConsultaChatGPT.obterTraducao(ConsultaChatGPT.java:20)
    at br.com.alura.screenmatch.model.Serie.<init>(Serie.java:24)
    at br.com.alura.screenmatch.principal.Principal.lambda$listarSeriesBuscadas$0(Principal.java:88)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1709)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
    at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)
    at br.com.alura.screenmatch.principal.Principal.listarSeriesBuscadas(Principal.java:89)
1 resposta

Oi Leandro, tudo bem?

Parece que você está enfrentando um problema de incompatibilidade de versões entre as bibliotecas jackson-databind e jackson-core. Esse tipo de erro ocorre quando uma versão de uma biblioteca tenta chamar um método que não existe na versão da outra biblioteca que está sendo utilizada.

Para resolver esse problema, você precisa garantir que todas as bibliotecas Jackson que seu projeto utiliza estejam na mesma versão. Aqui está um exemplo de como você pode ajustar seu arquivo pom.xml (assumindo que você está usando Maven) para garantir que todas as dependências Jackson estejam na mesma versão:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-bom</artifactId>
            <version>2.15.4</version> <!-- Ajuste para a versão que você deseja usar -->
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
    </dependency>
    <!-- Outras dependências -->
</dependencies>

No exemplo acima, o dependencyManagement garante que todas as dependências Jackson utilizem a mesma versão especificada (2.15.4 no exemplo). Você pode ajustar para a versão que preferir, mas o importante é que todas as dependências Jackson estejam na mesma versão para evitar incompatibilidades.

Após ajustar seu pom.xml, execute um mvn clean install para atualizar as dependências e tente rodar sua aplicação novamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.