Prevent NoClassDefFoundError when Jetty Reactive HttpClient not on classpath

Closes gh-35608

Signed-off-by: Edgar Asatryan <nstdio@gmail.com>
This commit is contained in:
Edgar Asatryan
2025-10-11 20:16:37 +04:00
committed by rstoyanchev
parent dcfe33f427
commit 141df5291d
2 changed files with 6 additions and 2 deletions
@@ -67,7 +67,9 @@ class DefaultWebTestClientBuilder implements WebTestClient.Builder {
ClassLoader loader = DefaultWebTestClientBuilder.class.getClassLoader();
reactorNettyClientPresent = ClassUtils.isPresent("reactor.netty.http.client.HttpClient", loader);
reactorNetty2ClientPresent = ClassUtils.isPresent("reactor.netty5.http.client.HttpClient", loader);
jettyClientPresent = ClassUtils.isPresent("org.eclipse.jetty.client.HttpClient", loader);
jettyClientPresent =
ClassUtils.isPresent("org.eclipse.jetty.client.HttpClient", loader) &&
ClassUtils.isPresent("org.eclipse.jetty.reactive.client.ReactiveRequest", loader);
httpComponentsClientPresent =
ClassUtils.isPresent("org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient", loader) &&
ClassUtils.isPresent("org.apache.hc.core5.reactive.ReactiveDataConsumer", loader);