Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

2.1K
Visualizações
No se puede construir Spring webClient debido a java.lang.IllegalStateException: no se encontró un ClientHttpConnector predeterminado adecuado

Me gustaría usar un WebClient específico en mi clase de servicio. Obtengo esta excepción mientras la construyo:

Parecía que era un problema de dependencia, pero una buena instalación limpia no cambió nada.

¿Necesito especificar manualmente un Bean en mi configuración?

 Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.***.Client]: Constructor threw exception; nested exception is java.lang.IllegalStateException: No suitable default ClientHttpConnector found at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:213) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:310) ... 122 more Caused by: java.lang.IllegalStateException: No suitable default ClientHttpConnector found at org.springframework.web.reactive.function.client.DefaultWebClientBuilder.getOrInitConnector(DefaultWebClientBuilder.java:266) at org.springframework.web.reactive.function.client.DefaultWebClientBuilder.build(DefaultWebClientBuilder.java:244) at com.***.Client.<init>(Client.kt:35) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at kotlin.reflect.jvm.internal.calls.CallerImpl$Constructor.call(CallerImpl.kt:41) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:106) at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:152) at kotlin.reflect.jvm.internal.KCallableImpl.callBy(KCallableImpl.kt:110) at org.springframework.beans.BeanUtils$KotlinDelegate.instantiateClass(BeanUtils.java:788) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:185)

Mi clase es simplemente:

 @Service class Client { private val webClient = WebClient.builder() .baseUrl("https://****.com/") .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .build() }

En mi archivo pom.xml :

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.ws</groupId> <artifactId>spring-ws-core</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webflux</artifactId> </dependency>
over 4 years ago · Hanz Gallego
2 Respostas
Responde à pergunta

0

Encontré el problema: resulta que faltaban dependencias de red, ya que importé el artefacto maven que tiene WebClient pero no el resto...

Reemplazando:

 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webflux</artifactId> </dependency>

Con:

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency>

resuelto.

over 4 years ago · Hanz Gallego Relatório

0

Como alternativa a la respuesta de Léo Schenider, no necesita reemplazar spring-webflux con spring-boot-starter-webflux (lo que agrega algunas dependencias adicionales que no necesita), solo necesita incluir:

 <dependency> <groupId>io.projectreactor.netty</groupId> <artifactId>reactor-netty-http</artifactId> </dependency>

Y deja spring-webflux como tal.

over 4 years ago · Hanz Gallego Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda