Repository: quarkusio/quarkus
Issue: RESTEasy Rective rest client injection into resource fails in native mode over NoSuchMethodException

### Describe the bug

I have RR app and rest client injection into resource in native mode fails.

```Java
    @Inject
    @RestClient
    MultipartService service;
```

It worked with 3.0.1.Final.

### Expected behavior

Rest client injection to the resource works.

### Actual behavior

```
20:37:40,850 INFO  [app] 20:37:39,659 HTTP Request to /client/multipart failed, error id: b24cbcf8-7197-4d2d-ab94-c4e6a8454a55-1: java.lang.RuntimeException: Error injecting io.quarkus.ts.http.jakartarest.reactive.client.MultipartService io.quarkus.ts.http.jakartarest.reactive.client.MultipartClientResource.service
20:37:40,852 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartClientResource_Bean.doCreate(Unknown Source)
20:37:40,853 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartClientResource_Bean.create(Unknown Source)
20:37:40,854 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartClientResource_Bean.create(Unknown Source)
20:37:40,855 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:113)
20:37:40,856 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:37)
20:37:40,857 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:34)
20:37:40,858 INFO  [app] 	at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
20:37:40,859 INFO  [app] 	at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
20:37:40,860 INFO  [app] 	at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:34)
20:37:40,861 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartClientResource_Bean.get(Unknown Source)
20:37:40,862 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartClientResource_Bean.get(Unknown Source)
20:37:40,862 INFO  [app] 	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:485)
20:37:40,864 INFO  [app] 	at io.quarkus.arc.impl.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:498)
20:37:40,865 INFO  [app] 	at io.quarkus.arc.impl.ArcContainerImpl$2.get(ArcContainerImpl.java:282)
20:37:40,866 INFO  [app] 	at io.quarkus.arc.impl.ArcContainerImpl$2.get(ArcContainerImpl.java:279)
20:37:40,866 INFO  [app] 	at io.quarkus.arc.runtime.BeanContainerImpl$1.create(BeanContainerImpl.java:46)
20:37:40,867 INFO  [app] 	at io.quarkus.resteasy.reactive.common.runtime.ArcBeanFactory.createInstance(ArcBeanFactory.java:27)
20:37:40,868 INFO  [app] 	at org.jboss.resteasy.reactive.server.handlers.InstanceHandler.handle(InstanceHandler.java:26)
20:37:40,869 INFO  [app] 	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:139)
20:37:40,870 INFO  [app] 	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145)
20:37:40,870 INFO  [app] 	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:576)
20:37:40,871 INFO  [app] 	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
20:37:40,872 INFO  [app] 	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
20:37:40,872 INFO  [app] 	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
20:37:40,873 INFO  [app] 	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
20:37:40,873 INFO  [app] 	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
20:37:40,873 INFO  [app] 	at java.base@17.0.7/java.lang.Thread.run(Thread.java:833)
20:37:40,874 INFO  [app] 	at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
20:37:40,874 INFO  [app] 	at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
20:37:40,875 INFO  [app] Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: org.jboss.resteasy.reactive.client.interceptors.ClientGZIPDecodingInterceptor.<init>()
20:37:40,875 INFO  [app] 	at org.jboss.resteasy.reactive.common.jaxrs.ConfigurationImpl.register(ConfigurationImpl.java:203)
20:37:40,876 INFO  [app] 	at org.jboss.resteasy.reactive.client.impl.ClientBuilderImpl.build(ClientBuilderImpl.java:285)
20:37:40,876 INFO  [app] 	at io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl.build(RestClientBuilderImpl.java:358)
20:37:40,877 INFO  [app] 	at io.quarkus.rest.client.reactive.runtime.QuarkusRestClientBuilderImpl.build(QuarkusRestClientBuilderImpl.java:222)
20:37:40,877 INFO  [app] 	at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.build(RestClientCDIDelegateBuilder.java:60)
20:37:40,878 INFO  [app] 	at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.createDelegate(RestClientCDIDelegateBuilder.java:42)
20:37:40,878 INFO  [app] 	at io.quarkus.rest.client.reactive.runtime.RestClientReactiveCDIWrapperBase.<init>(RestClientReactiveCDIWrapperBase.java:20)
20:37:40,878 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartService$$CDIWrapper.<init>(Unknown Source)
20:37:40,879 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartService$$CDIWrapper_ClientProxy.<init>(Unknown Source)
20:37:40,879 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartService$$CDIWrapper_Bean.proxy(Unknown Source)
20:37:40,879 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartService$$CDIWrapper_Bean.get(Unknown Source)
20:37:40,880 INFO  [app] 	at io.quarkus.ts.http.jakartarest.reactive.client.MultipartService$$CDIWrapper_Bean.get(Unknown Source)
20:37:40,880 INFO  [app] 	... 29 more
20:37:40,880 INFO  [app] Caused by: java.lang.NoSuchMethodException: org.jboss.resteasy.reactive.client.interceptors.ClientGZIPDecodingInterceptor.<init>()
20:37:40,881 INFO  [app] 	at java.base@17.0.7/java.lang.Class.getConstructor0(DynamicHub.java:3585)
20:37:40,881 INFO  [app] 	at java.base@17.0.7/java.lang.Class.getDeclaredConstructor(DynamicHub.java:2754)
20:37:40,881 INFO  [app] 	at org.jboss.resteasy.reactive.common.jaxrs.ConfigurationImpl.register(ConfigurationImpl.java:201)
20:37:40,881 INFO  [app] 	... 40 more
```

### How to Reproduce?

Reproducer:

1. `git clone git@github.com:quarkus-qe/quarkus-test-suite.git`
2. `cd quarkus-test-suite`
3. `git checkout -b repro/rr-injection`
4. `cd http/jakarta-rest-reactive`
5. `mvn clean verify -Dnative -Dit.test=MultipartClientIT`

### Output of `uname -a` or `ver`

Fedora

### Output of `java -version`

openjdk 11.0.18 2023-01-17

### GraalVM version (if different from Java)

22.3

### Quarkus version or git rev

999-SNAPSHOT

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

mvn 3.8.6

### Additional information

N/A

Changed files:
extensions/resteasy-reactive/rest-client-reactive/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/RestClientReactiveProcessor.java

diff --git a/extensions/resteasy-reactive/rest-client-reactive/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/RestClientReactiveProcessor.java b/extensions/resteasy-reactive/rest-client-reactive/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/RestClientReactiveProcessor.java
index 0af9df3ca2d..558dbfe0468 100644
--- a/extensions/resteasy-reactive/rest-client-reactive/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/RestClientReactiveProcessor.java
+++ b/extensions/resteasy-reactive/rest-client-reactive/deployment/src/main/java/io/quarkus/rest/client/reactive/deployment/RestClientReactiveProcessor.java
@@ -52,6 +52,7 @@
 import org.jboss.jandex.MethodInfo;
 import org.jboss.jandex.Type;
 import org.jboss.logging.Logger;
+import org.jboss.resteasy.reactive.client.interceptors.ClientGZIPDecodingInterceptor;
 import org.jboss.resteasy.reactive.client.spi.MissingMessageBodyReaderErrorMessageContextualizer;
 import org.jboss.resteasy.reactive.common.processor.ResteasyReactiveDotNames;
 import org.jboss.resteasy.reactive.common.processor.transformation.AnnotationStore;
@@ -108,6 +109,7 @@ class RestClientReactiveProcessor {
     private static final DotName KOTLIN_METADATA_ANNOTATION = DotName.createSimple("kotlin.Metadata");
 
     private static final String DISABLE_SMART_PRODUCES_QUARKUS = "quarkus.rest-client.disable-smart-produces";
+    private static final String ENABLE_COMPRESSION = "quarkus.http.enable-compression";
     private static final String KOTLIN_INTERFACE_DEFAULT_IMPL_SUFFIX = "$DefaultImpls";
 
     private static final Set<DotName> SKIP_COPYING_ANNOTATIONS_TO_GENERATED_CLASS = Set.of(
@@ -352,6 +354,19 @@ AdditionalBeanBuildItem registerProviderBeans(CombinedIndexBuildItem combinedInd
         return builder.build();
     }
 
+    @BuildStep
+    void registerCompressionInterceptors(BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {
+        Boolean enableCompression = ConfigProvider.getConfig()
+                .getOptionalValue(ENABLE_COMPRESSION, Boolean.class)
+                .orElse(false);
+        if (enableCompression) {
+            reflectiveClasses.produce(ReflectiveClassBuildItem
+                    .builder(ClientGZIPDecodingInterceptor.class)
+                    .serialization(false)
+                    .build());
+        }
+    }
+
     @BuildStep
     @Record(ExecutionTime.STATIC_INIT)
     void addRestClientBeans(Capabilities capabilities,