#java #quarkus
Вопрос:
Я пытаюсь использовать RestResponselt;Tgt;
объект org.jboss.resteasy.reactive
при возврате ресурсов моего приложения, так javax.ws.rs.core.Response
как он не предоставляет универсальный тип.
Я получаю ошибку, когда вызываю эту конечную точку:
public RestResponselt;Listlt;SampleResponsegt;gt; findAll() { return ResponseBuilder.ok(sampleService.findAll()).build(); }
Ошибка:
Request failed: java.lang.ClassCastException: class org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl cann ot be cast to class org.jboss.resteasy.reactive.common.jaxrs.RuntimeDelegateImpl (org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl and org.jboss.resteasy.reactive.common.jaxrs.RuntimeDelegateImpl are in unnamed mo dule of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @3c153a1)
Мои зависимости в pom.xml:
lt;dependenciesgt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-hibernate-ormlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-hibernate-validatorlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-rest-clientlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-smallrye-openapilt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-resteasy-reactive-jacksonlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-liquibaselt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-smallrye-healthlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-redis-clientlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-arclt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-rest-client-jacksonlt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-config-yamllt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-junit5lt;/artifactIdgt; lt;scopegt;testlt;/scopegt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-spring-data-jpalt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;org.projectlomboklt;/groupIdgt; lt;artifactIdgt;lomboklt;/artifactIdgt; lt;versiongt;${lombok.version}lt;/versiongt; lt;scopegt;compilelt;/scopegt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-jdbc-postgresqllt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-spring-weblt;/artifactIdgt; lt;/dependencygt; lt;dependencygt; lt;groupIdgt;io.quarkuslt;/groupIdgt; lt;artifactIdgt;quarkus-resteasy-reactivelt;/artifactIdgt; lt;/dependencygt; lt;/dependenciesgt;
Ответ №1:
Я только что решил эту проблему… Это был порядок иждивенцев. Я переключился quarkus-resteasy-reactive
на верхнюю часть, и теперь она работает.
Ответ №2:
С помощью RESTEasy Reactive вы должны использовать quarkus-rest-client-reactive
. quarkus-rest-client
может привести к некоторым сложным классическим классам, которые конфликтуют с реактивной версией