diff --git a/extensions/netty/deployment/src/main/java/io/quarkus/netty/deployment/NettyProcessor.java b/extensions/netty/deployment/src/main/java/io/quarkus/netty/deployment/NettyProcessor.java index 361033561c391..b807f875032aa 100644 --- a/extensions/netty/deployment/src/main/java/io/quarkus/netty/deployment/NettyProcessor.java +++ b/extensions/netty/deployment/src/main/java/io/quarkus/netty/deployment/NettyProcessor.java @@ -122,8 +122,11 @@ NativeImageConfigBuildItem build( .addRuntimeInitializedClass("io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder") .addRuntimeInitializedClass("io.netty.handler.codec.http.websocketx.WebSocket00FrameEncoder") .addRuntimeInitializedClass("io.netty.handler.codec.compression.ZstdOptions") - .addRuntimeInitializedClass("io.netty.handler.codec.compression.ZstdConstants") - .addRuntimeInitializedClass("io.netty.handler.codec.compression.BrotliOptions"); + .addRuntimeInitializedClass("io.netty.handler.codec.compression.ZstdConstants"); + // Brotli is an optional dependency + if (QuarkusClassLoader.isClassPresentAtRuntime("io.netty.handler.codec.compression.BrotliOptions")) { + builder.addRuntimeInitializedClass("io.netty.handler.codec.compression.BrotliOptions"); + } } else { log.debug("Not registering Netty HTTP classes as they were not found"); } diff --git a/extensions/netty/runtime/pom.xml b/extensions/netty/runtime/pom.xml index 96b924e0ada49..a0c59483ce243 100644 --- a/extensions/netty/runtime/pom.xml +++ b/extensions/netty/runtime/pom.xml @@ -61,15 +61,6 @@ osx-x86_64 true - - - - com.aayushatharva.brotli4j - brotli4j - diff --git a/extensions/vertx-http/runtime/pom.xml b/extensions/vertx-http/runtime/pom.xml index b7073fd79dd1a..c25865639779a 100644 --- a/extensions/vertx-http/runtime/pom.xml +++ b/extensions/vertx-http/runtime/pom.xml @@ -69,6 +69,11 @@ io.github.crac org-crac + + + com.aayushatharva.brotli4j + brotli4j + org.junit.jupiter