microsoftgraph / msgraph-sdk-java

Microsoft Graph SDK for Java
https://docs.microsoft.com/en-us/graph/sdks/sdks-overview
MIT License
372 stars 126 forks source link

Issue with reactor.util.context.ContextView when Using Microsoft Graph SDK 6.13 With Payara Server #2079

Closed Abneco closed 1 month ago

Abneco commented 1 month ago

Describe the bug

Hello,

I am encountering an issue while using the Microsoft Graph SDK in my Java project deployed on Payara Server. When I attempt to send an email via the Microsoft Graph API, I receive the following error: jakarta.servlet.ServletException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'

I get the following errors

[2024-07-11T17:44:12.716+0200] [Payara 6.2023.12] [WARNING] [] [org.glassfish.jersey.server.ServerRuntime$Responder] [tid: _ThreadID=151 _ThreadName=http-thread-pool::http-listener-1(2)] [timeMillis: 1720712652716] [levelValue: 900] [[
  An exception mapping did not successfully produce and processed a response. Logging the exception propagated to the default exception mapper.
[2024-07-11T17:44:12.729+0200] [Payara 6.2023.12] [WARNING] [] [jakarta.enterprise.web] [tid: _ThreadID=151 _ThreadName=http-thread-pool::http-listener-1(2)] [timeMillis: 1720712652729] [levelValue: 900] [[
  StandardWrapperValve[be.neuronics.payaramicrosoftgraph.HelloApplication]: Servlet.service() for servlet be.neuronics.payaramicrosoftgraph.HelloApplication threw exception
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at com.azure.identity.implementation.IdentitySyncClient.authenticateWithConfidentialClient(IdentitySyncClient.java:148)
    at com.azure.identity.ClientSecretCredential.getTokenSync(ClientSecretCredential.java:136)
    at com.microsoft.kiota.authentication.AzureIdentityAccessTokenProvider.getAuthorizationToken(AzureIdentityAccessTokenProvider.java:146)
    at com.microsoft.kiota.authentication.BaseBearerTokenAuthenticationProvider.authenticateRequest(BaseBearerTokenAuthenticationProvider.java:46)
    at com.microsoft.kiota.http.OkHttpRequestAdapter.getHttpResponseMessage(OkHttpRequestAdapter.java:711)
    at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:276)
    at com.microsoft.graph.users.UsersRequestBuilder.get(UsersRequestBuilder.java:120)
    at com.microsoft.graph.users.UsersRequestBuilder.get(UsersRequestBuilder.java:106)
    at be.neuronics.payaramicrosoftgraph.HelloResource.hello(HelloResource.kt:38)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:261)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:240)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:697)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:357)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:311)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1554)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:259)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:166)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:757)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:577)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:158)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:372)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:239)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
    at com.azure.identity.implementation.IdentitySyncClient.authenticateWithConfidentialClient(IdentitySyncClient.java:146)
    ... 59 more
Caused by: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at reactor.netty.http.client.HttpClientConnect$HttpObserver.<init>(HttpClientConnect.java:333)
    at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.lambda$subscribe$0(HttpClientConnect.java:263)
    at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57)
    at reactor.core.publisher.FluxRetryWhen.subscribe(FluxRetryWhen.java:76)
    at reactor.core.publisher.MonoRetryWhen.subscribeOrReturn(MonoRetryWhen.java:46)
    at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57)
    at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.subscribe(HttpClientConnect.java:276)
    at reactor.core.publisher.Mono.subscribe(Mono.java:4099)
    at reactor.core.publisher.Mono.block(Mono.java:1702)
    at com.azure.core.http.netty.NettyAsyncHttpClient.sendSync(NettyAsyncHttpClient.java:195)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:51)
    at com.azure.core.http.policy.HttpLoggingPolicy.processSync(HttpLoggingPolicy.java:175)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.implementation.http.policy.InstrumentationPolicy.processSync(InstrumentationPolicy.java:101)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.RetryPolicy.attemptSync(RetryPolicy.java:211)
    at com.azure.core.http.policy.RetryPolicy.processSync(RetryPolicy.java:161)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.AddHeadersPolicy.processSync(AddHeadersPolicy.java:66)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.HttpPipelineSyncPolicy.processSync(HttpPipelineSyncPolicy.java:51)
    at com.azure.core.http.policy.UserAgentPolicy.processSync(UserAgentPolicy.java:174)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.HttpPipeline.sendSync(HttpPipeline.java:138)
    at com.azure.identity.implementation.HttpPipelineAdapter.send(HttpPipelineAdapter.java:67)
    at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequestWithRetries(HttpHelper.java:137)
    at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequest(HttpHelper.java:52)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.executeRequest(AadInstanceDiscoveryProvider.java:299)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.sendInstanceDiscoveryRequest(AadInstanceDiscoveryProvider.java:249)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.doInstanceDiscoveryAndCache(AadInstanceDiscoveryProvider.java:360)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.getMetadataEntry(AadInstanceDiscoveryProvider.java:107)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.getAuthorityWithPrefNetworkHost(AuthenticationResultSupplier.java:39)
    at com.microsoft.aad.msal4j.AcquireTokenSilentSupplier.execute(AcquireTokenSilentSupplier.java:23)
    at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.execute(AcquireTokenByClientCredentialSupplier.java:46)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:69)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:18)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
]]

[2024-07-11T17:44:12.726+0200] [Payara 6.2023.12] [SEVERE] [] [org.glassfish.jersey.server.ServerRuntime$Responder] [tid: _ThreadID=151 _ThreadName=http-thread-pool::http-listener-1(2)] [timeMillis: 1720712652726] [levelValue: 1000] [[
  Error while closing the output stream in order to commit response.
org.glassfish.jersey.server.ContainerException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at org.glassfish.jersey.servlet.internal.ResponseWriter.getResponseContext(ResponseWriter.java:278)
    at org.glassfish.jersey.servlet.internal.ResponseWriter.writeResponseStatusAndHeaders(ResponseWriter.java:128)
    at org.glassfish.jersey.server.ServerRuntime$Responder$1.getOutputStream(ServerRuntime.java:667)
    at org.glassfish.jersey.message.internal.CommittingOutputStream.commitStream(CommittingOutputStream.java:171)
    at org.glassfish.jersey.message.internal.CommittingOutputStream.flushBuffer(CommittingOutputStream.java:276)
    at org.glassfish.jersey.message.internal.CommittingOutputStream.commit(CommittingOutputStream.java:232)
    at org.glassfish.jersey.message.internal.CommittingOutputStream.close(CommittingOutputStream.java:247)
    at org.glassfish.jersey.message.internal.OutboundMessageContext.close(OutboundMessageContext.java:865)
    at org.glassfish.jersey.server.ContainerResponse.close(ContainerResponse.java:403)
    at org.glassfish.jersey.server.ServerRuntime$Responder.writeResponse(ServerRuntime.java:749)
    at org.glassfish.jersey.server.ServerRuntime$Responder.processResponse(ServerRuntime.java:385)
    at org.glassfish.jersey.server.ServerRuntime$Responder.processResponseWithDefaultExceptionMapper(ServerRuntime.java:633)
    at org.glassfish.jersey.server.ServerRuntime$Responder.process(ServerRuntime.java:458)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:269)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:240)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:697)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:394)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:346)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:357)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:311)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:205)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1554)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:259)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:166)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:757)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:577)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:158)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:372)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:239)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
    at org.glassfish.jersey.servlet.internal.ResponseWriter.getResponseContext(ResponseWriter.java:276)
    ... 53 more
Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at com.azure.identity.implementation.IdentitySyncClient.authenticateWithConfidentialClient(IdentitySyncClient.java:148)
    at com.azure.identity.ClientSecretCredential.getTokenSync(ClientSecretCredential.java:136)
    at com.microsoft.kiota.authentication.AzureIdentityAccessTokenProvider.getAuthorizationToken(AzureIdentityAccessTokenProvider.java:146)
    at com.microsoft.kiota.authentication.BaseBearerTokenAuthenticationProvider.authenticateRequest(BaseBearerTokenAuthenticationProvider.java:46)
    at com.microsoft.kiota.http.OkHttpRequestAdapter.getHttpResponseMessage(OkHttpRequestAdapter.java:711)
    at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:276)
    at com.microsoft.graph.users.UsersRequestBuilder.get(UsersRequestBuilder.java:120)
    at com.microsoft.graph.users.UsersRequestBuilder.get(UsersRequestBuilder.java:106)
    at be.neuronics.payaramicrosoftgraph.HelloResource.hello(HelloResource.kt:38)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:146)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:189)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:93)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:478)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:400)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)
    at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:261)
    ... 40 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
    at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
    at com.azure.identity.implementation.IdentitySyncClient.authenticateWithConfidentialClient(IdentitySyncClient.java:146)
    ... 59 more
Caused by: java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at reactor.netty.http.client.HttpClientConnect$HttpObserver.<init>(HttpClientConnect.java:333)
    at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.lambda$subscribe$0(HttpClientConnect.java:263)
    at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57)
    at reactor.core.publisher.FluxRetryWhen.subscribe(FluxRetryWhen.java:76)
    at reactor.core.publisher.MonoRetryWhen.subscribeOrReturn(MonoRetryWhen.java:46)
    at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57)
    at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.subscribe(HttpClientConnect.java:276)
    at reactor.core.publisher.Mono.subscribe(Mono.java:4099)
    at reactor.core.publisher.Mono.block(Mono.java:1702)
    at com.azure.core.http.netty.NettyAsyncHttpClient.sendSync(NettyAsyncHttpClient.java:195)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:51)
    at com.azure.core.http.policy.HttpLoggingPolicy.processSync(HttpLoggingPolicy.java:175)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.implementation.http.policy.InstrumentationPolicy.processSync(InstrumentationPolicy.java:101)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.RetryPolicy.attemptSync(RetryPolicy.java:211)
    at com.azure.core.http.policy.RetryPolicy.processSync(RetryPolicy.java:161)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.AddHeadersPolicy.processSync(AddHeadersPolicy.java:66)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.HttpPipelineSyncPolicy.processSync(HttpPipelineSyncPolicy.java:51)
    at com.azure.core.http.policy.UserAgentPolicy.processSync(UserAgentPolicy.java:174)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.HttpPipeline.sendSync(HttpPipeline.java:138)
    at com.azure.identity.implementation.HttpPipelineAdapter.send(HttpPipelineAdapter.java:67)
    at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequestWithRetries(HttpHelper.java:137)
    at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequest(HttpHelper.java:52)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.executeRequest(AadInstanceDiscoveryProvider.java:299)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.sendInstanceDiscoveryRequest(AadInstanceDiscoveryProvider.java:249)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.doInstanceDiscoveryAndCache(AadInstanceDiscoveryProvider.java:360)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.getMetadataEntry(AadInstanceDiscoveryProvider.java:107)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.getAuthorityWithPrefNetworkHost(AuthenticationResultSupplier.java:39)
    at com.microsoft.aad.msal4j.AcquireTokenSilentSupplier.execute(AcquireTokenSilentSupplier.java:23)
    at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.execute(AcquireTokenByClientCredentialSupplier.java:46)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:69)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:18)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
]]

java.lang.NoSuchMethodError: 'reactor.util.context.ContextView reactor.core.publisher.MonoSink.contextView()'
    at reactor.netty.http.client.HttpClientConnect$HttpObserver.<init>(HttpClientConnect.java:333)
    at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.lambda$subscribe$0(HttpClientConnect.java:263)
    at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:57)
    at reactor.core.publisher.FluxRetryWhen.subscribe(FluxRetryWhen.java:76)
    at reactor.core.publisher.MonoRetryWhen.subscribeOrReturn(MonoRetryWhen.java:46)
    at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57)
    at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.subscribe(HttpClientConnect.java:276)
    at reactor.core.publisher.Mono.subscribe(Mono.java:4099)
    at reactor.core.publisher.Mono.block(Mono.java:1702)
    at com.azure.core.http.netty.NettyAsyncHttpClient.sendSync(NettyAsyncHttpClient.java:195)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:51)
    at com.azure.core.http.policy.HttpLoggingPolicy.processSync(HttpLoggingPolicy.java:175)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.implementation.http.policy.InstrumentationPolicy.processSync(InstrumentationPolicy.java:101)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.RetryPolicy.attemptSync(RetryPolicy.java:211)
    at com.azure.core.http.policy.RetryPolicy.processSync(RetryPolicy.java:161)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.AddHeadersPolicy.processSync(AddHeadersPolicy.java:66)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.policy.HttpPipelineSyncPolicy.processSync(HttpPipelineSyncPolicy.java:51)
    at com.azure.core.http.policy.UserAgentPolicy.processSync(UserAgentPolicy.java:174)
    at com.azure.core.http.HttpPipelineNextSyncPolicy.processSync(HttpPipelineNextSyncPolicy.java:53)
    at com.azure.core.http.HttpPipeline.sendSync(HttpPipeline.java:138)
    at com.azure.identity.implementation.HttpPipelineAdapter.send(HttpPipelineAdapter.java:67)
    at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequestWithRetries(HttpHelper.java:137)
    at com.microsoft.aad.msal4j.HttpHelper.executeHttpRequest(HttpHelper.java:52)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.executeRequest(AadInstanceDiscoveryProvider.java:299)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.sendInstanceDiscoveryRequest(AadInstanceDiscoveryProvider.java:249)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.doInstanceDiscoveryAndCache(AadInstanceDiscoveryProvider.java:360)
    at com.microsoft.aad.msal4j.AadInstanceDiscoveryProvider.getMetadataEntry(AadInstanceDiscoveryProvider.java:107)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.getAuthorityWithPrefNetworkHost(AuthenticationResultSupplier.java:39)
    at com.microsoft.aad.msal4j.AcquireTokenSilentSupplier.execute(AcquireTokenSilentSupplier.java:23)
    at com.microsoft.aad.msal4j.AcquireTokenByClientCredentialSupplier.execute(AcquireTokenByClientCredentialSupplier.java:46)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:69)
    at com.microsoft.aad.msal4j.AuthenticationResultSupplier.get(AuthenticationResultSupplier.java:18)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
]]

Expected behavior

know how to send an email via the microsoft graph api using the java sdk

How to reproduce

I created a simple payara server project with kotlin and gradle (koltin dsl)

HelloResource.Kt

import com.azure.identity.ClientSecretCredentialBuilder
import com.microsoft.graph.models.*
import com.microsoft.graph.serviceclient.GraphServiceClient
import com.microsoft.graph.users.item.sendmail.SendMailPostRequestBody
import jakarta.ws.rs.GET
import jakarta.ws.rs.Path
import jakarta.ws.rs.Produces
import java.util.*

@Path("/hello-world")
class HelloResource {
    @GET
    @Produces("text/plain")
    fun hello(): String {

        val clientId = ""
        val tenantId = "";
        val clientSecret = ""
        var emailSender : String? = "email@sender.com"

        val scopes = arrayOf("https://graph.microsoft.com/.default")

        val credential =
            ClientSecretCredentialBuilder().clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build()
                ?: throw Exception("Unexpected error")

        val graphClient = GraphServiceClient(credential, *scopes)

        val userList = graphClient.users().get()
        var userSelected: User? = null // Ce sera l'utilisateur trouvé, s'il existe.
        for (user in userList.value ) {
            if (user.mail == emailSender) {
                userSelected = user
                break
            }
        }

        if (userSelected != null) {
            println("Utilisateur trouvé !")
            println(userSelected.displayName)
            println(userSelected.mail)
            println(userSelected.id)
        } else {
            println("Aucun utilisateur trouvé avec l'email $emailSender.")
        }

        // Prepare the email message
        val message = Message()
        message.subject = "template.subject"          // Use the subject from the template
        val body = ItemBody()
        body.contentType = BodyType.Html            // Set content type to HTML
        body.content = "template.body"                // Use the body from the template
        message.body = body

        // Add recipient to the 'To' list
        val toRecipients = LinkedList<Recipient>()
        val toRecipient = Recipient()
        val toEmailAddress = EmailAddress()
        toEmailAddress.address = "email@receiver.com"  // Recipient email address from utilisateur object
        toRecipient.emailAddress = toEmailAddress
        toRecipients.add(toRecipient)
        message.toRecipients = toRecipients

        // Create SendMailPostRequestBody and set the message and other properties
        val sendMailPostRequestBody = SendMailPostRequestBody()
        sendMailPostRequestBody.message = message
        sendMailPostRequestBody.saveToSentItems = true

        // Send the email using the graphClient
        graphClient.users().byUserId(userSelected?.id).sendMail().post(sendMailPostRequestBody)

        return "email - sent"
    }
}

HelloResource.Kt

import jakarta.ws.rs.ApplicationPath
import jakarta.ws.rs.core.Application

@ApplicationPath("/api")
class HelloApplication : Application() {

}

Gradle config Koltin DSL

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.9.21"
    war
}

group = "be.neuronics"
version = "1.0.0"

java {
    sourceCompatibility = JavaVersion.VERSION_21
}

sourceSets {
    main {
        java {
            srcDirs("src/main/java")
        }
        kotlin {
            srcDirs("src/main/kotlin")
        }
    }
}

repositories {
    mavenCentral()
}

tasks.withType<JavaCompile> {
    options.encoding = "UTF-8"
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs += "-Xjsr305=strict"
        jvmTarget = "21"
    }
}

dependencies {
    compileOnly("jakarta.platform:jakarta.jakartaee-web-api:10.0.0")

    // https://mvnrepository.com/artifact/com.microsoft.graph/microsoft-graph
    implementation("com.microsoft.graph:microsoft-graph:6.13.0")
    // https://mvnrepository.com/artifact/com.azure/azure-identity
    implementation("com.azure:azure-identity:1.13.0")

}

SDK Version

6.13.0

Configuration

Server: Payara Server: 6.2023.12 Microsoft Graph SDK: version 6.13.0 Azure Identity: version 1.13.0 JDK: version 21` Koltin 1.9.21 Gradle : 8.7 Windows 11

Ndiritu commented 1 month ago

Hi @Abneco, thanks for creating this.

Looks like this is an issue with the azure.identity library's reactor-core dependency version. Similar issue posted here: https://learn.microsoft.com/en-us/answers/questions/1188887/error-occurs-java-lang-nosuchmethoderror-reactor-c

Does resolving the reactor-core conflicts as suggested on the link above help?

Abneco commented 1 month ago

I tested and forced the dependencies reactor-netty-http in version 1.0.17 which is the latest compatible version

gradle dependencyInsight --dependency io.projectreactor.netty:reactor-netty-http

io.projectreactor.netty:reactor-netty-http:1.0.17 (forced)
  Variant compile:
    | Attribute Name                     | Provided | Requested    |
    |------------------------------------|----------|--------------|
    | org.gradle.status                  | release  |              |
    | org.gradle.category                | library  | library      |
    | org.gradle.libraryelements         | jar      | classes      |
    | org.gradle.libraryelements         | jar      | classes      |
    | org.gradle.usage                   | java-api | java-api     |
    | org.gradle.dependency.bundling     |          | external     |
    | org.gradle.jvm.environment         |          | standard-jvm |
    | org.gradle.jvm.version             |          | 21           |
    | org.jetbrains.kotlin.platform.type |          | jvm          |

io.projectreactor.netty:reactor-netty-http:1.0.45 -> 1.0.17
\--- com.azure:azure-core-http-netty:1.15.1
     \--- com.azure:azure-identity:1.13.0
          \--- compileClasspath
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.9.21"
    war
}

group = "be.neuronics"
version = "1.0.0"

java {
    sourceCompatibility = JavaVersion.VERSION_21
}

sourceSets {
    main {
        java {
            srcDirs("src/main/java")
        }
        kotlin {
            srcDirs("src/main/kotlin")
        }
    }
}

repositories {
    mavenCentral()
}

tasks.withType<JavaCompile> {
    options.encoding = "UTF-8"
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs += "-Xjsr305=strict"
        jvmTarget = "21"
    }
}

dependencies {
    compileOnly("jakarta.platform:jakarta.jakartaee-web-api:10.0.0")

    // https://mvnrepository.com/artifact/com.microsoft.graph/microsoft-graph
    implementation("com.microsoft.graph:microsoft-graph:6.13.0")
    // https://mvnrepository.com/artifact/com.azure/azure-identity
    implementation("com.azure:azure-identity:1.13.0")

}

// add the following lines to force the dependencies
configurations.all {
    resolutionStrategy {
        force("io.projectreactor.netty:reactor-netty-http:1.0.17")
    }
}

it works but directly intellij tells me that it may pose security problems 3 vulnerabilities found in dependency: CVE-2023-34062 7.5 Transitive Improper Limitation of a Pathname to a Restricted Directory ("Path Traversal") vulnerability with High severity found CVE-2023-34054 7.5 Transitive Uncontrolled Resource Consumption vulnerability with High severity found CVE-2022-31684 4.3 Transitive Exposure of Sensitive Information to an Unauthorized Actor vulnerability with Medium severity found ... ... ... Show details…

Ndiritu commented 1 month ago

@Abneco thanks for trying this. I'm having trouble understanding whether it's the graph package restricting reactor-netty-http to 1.0.17.

Would you mind clarifying this? Or sharing your dependency tree? Is this a compile-time or runtime error?

Abneco commented 1 month ago

the error appears when I load the API to send the email, so at runtime

gradle dependencies
compileClasspath - Compile classpath for null/main.
+--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21
|    +--- org.jetbrains:annotations:13.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21 (c)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.10 (c)
+--- jakarta.platform:jakarta.jakartaee-web-api:10.0.0
|    +--- jakarta.servlet:jakarta.servlet-api:6.0.0
|    +--- jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.1.0
|    +--- jakarta.el:jakarta.el-api:5.0.1
|    +--- jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:3.0.0
|    +--- jakarta.faces:jakarta.faces-api:4.0.1
|    +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
|    +--- jakarta.websocket:jakarta.websocket-api:2.1.0
|    +--- jakarta.websocket:jakarta.websocket-client-api:2.1.0
|    +--- jakarta.json:jakarta.json-api:2.1.0
|    +--- jakarta.json.bind:jakarta.json.bind-api:3.0.0
|    +--- jakarta.annotation:jakarta.annotation-api:2.1.1
|    +--- jakarta.ejb:jakarta.ejb-api:4.0.1
|    +--- jakarta.transaction:jakarta.transaction-api:2.0.1
|    +--- jakarta.persistence:jakarta.persistence-api:3.1.0
|    +--- jakarta.validation:jakarta.validation-api:3.0.2
|    +--- jakarta.interceptor:jakarta.interceptor-api:2.1.0
|    +--- jakarta.enterprise:jakarta.enterprise.cdi-api:4.0.1
|    +--- jakarta.enterprise:jakarta.enterprise.lang-model:4.0.1
|    +--- jakarta.inject:jakarta.inject-api:2.0.1
|    +--- jakarta.authentication:jakarta.authentication-api:3.0.0
|    \--- jakarta.security.enterprise:jakarta.security.enterprise-api:3.0.0
+--- com.microsoft.graph:microsoft-graph:6.13.0
|    \--- com.microsoft.graph:microsoft-graph-core:3.1.13
|         +--- com.squareup.okhttp3:okhttp:4.12.0
|         |    +--- com.squareup.okio:okio:3.6.0
|         |    |    \--- com.squareup.okio:okio-jvm:3.6.0
|         |    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|         |    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|         |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10
|         |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 1.9.21
|         |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 (*)
|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10 (*)
|         +--- com.azure:azure-core:1.49.0 -> 1.49.1
|         |    +--- com.azure:azure-json:1.1.0
|         |    +--- com.azure:azure-xml:1.0.0
|         |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5
|         |    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (c)
|         |    |         +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (c)
|         |    |         +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (c)
|         |    |         \--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5 (c)
|         |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|         |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5
|         |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|         |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|         |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5
|         |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|         |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|         |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (*)
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|         |    +--- org.slf4j:slf4j-api:1.7.36
|         |    \--- io.projectreactor:reactor-core:3.4.38
|         |         \--- org.reactivestreams:reactive-streams:1.0.4
|         \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13
\--- com.azure:azure-identity:1.13.0
     +--- com.azure:azure-core:1.49.1 (*)
     +--- com.azure:azure-core-http-netty:1.15.1
     |    +--- com.azure:azure-core:1.49.1 (*)
     |    +--- io.netty:netty-handler:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-resolver:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-transport:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-resolver:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport:4.1.110.Final (*)
     |    +--- io.netty:netty-handler-proxy:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-socks:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |         \--- io.netty:netty-handler:4.1.110.Final (*)
     |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http2:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-handler:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-epoll:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-epoll:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-kqueue:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-kqueue:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-tcnative-boringssl-static:2.0.65.Final
     |    |    \--- io.netty:netty-tcnative-classes:2.0.65.Final
     |    +--- io.projectreactor.netty:reactor-netty-http:1.0.45 -> 1.0.17
     |    |    +--- io.netty:netty-codec-http:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-http2:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns:4.1.75.Final
     |    |    |    +--- io.netty:netty-common:4.1.75.Final -> 4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec-dns:4.1.75.Final
     |    |    |    |    +--- io.netty:netty-common:4.1.75.Final -> 4.1.110.Final
     |    |    |    |    +--- io.netty:netty-buffer:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    |    +--- io.netty:netty-transport:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    |    \--- io.netty:netty-codec:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-handler:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.75.Final
     |    |    |    \--- io.netty:netty-resolver-dns-classes-macos:4.1.75.Final
     |    |    |         +--- io.netty:netty-common:4.1.75.Final -> 4.1.110.Final
     |    |    |         +--- io.netty:netty-resolver-dns:4.1.75.Final (*)
     |    |    |         \--- io.netty:netty-transport-native-unix-common:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-epoll:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.projectreactor.netty:reactor-netty-core:1.0.17
     |    |    |    +--- io.netty:netty-handler:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-handler-proxy:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns:4.1.75.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.75.Final (*)
     |    |    |    +--- io.netty:netty-transport-native-epoll:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.projectreactor:reactor-core:3.4.16 -> 3.4.38 (*)
     |    |    \--- io.projectreactor:reactor-core:3.4.16 -> 3.4.38 (*)
     |    \--- io.netty:netty-common:4.1.110.Final
     +--- com.azure:azure-json:1.1.0
     +--- com.microsoft.azure:msal4j:1.15.1
     |    +--- com.nimbusds:oauth2-oidc-sdk:11.9.1
     |    |    +--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    |    +--- com.nimbusds:content-type:2.3
     |    |    +--- net.minidev:json-smart:2.5.0
     |    |    |    \--- net.minidev:accessors-smart:2.5.0
     |    |    |         \--- org.ow2.asm:asm:9.3
     |    |    +--- com.nimbusds:lang-tag:1.7
     |    |    \--- com.nimbusds:nimbus-jose-jwt:9.37.3
     |    |         \--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    +--- net.minidev:json-smart:2.5.0 (*)
     |    +--- org.slf4j:slf4j-api:1.7.36
     |    \--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 -> 2.13.5 (*)
     +--- com.microsoft.azure:msal4j-persistence-extension:1.3.0
     |    +--- com.microsoft.azure:msal4j:1.15.0 -> 1.15.1 (*)
     |    +--- net.java.dev.jna:jna:5.13.0
     |    +--- net.java.dev.jna:jna-platform:5.13.0
     |    |    \--- net.java.dev.jna:jna:5.13.0
     |    \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.36
     \--- net.java.dev.jna:jna-platform:5.6.0 -> 5.13.0 (*)

runtimeClasspath - Runtime classpath of null/main.
+--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21
|    +--- org.jetbrains:annotations:13.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21 (c)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.10 (c)
+--- com.microsoft.graph:microsoft-graph:6.13.0
|    +--- com.squareup.okhttp3:okhttp:4.12.0
|    |    +--- com.squareup.okio:okio:3.6.0
|    |    |    \--- com.squareup.okio:okio-jvm:3.6.0
|    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|    |    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|    |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10
|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 1.9.21
|    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10 (*)
|    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    +--- com.microsoft.kiota:microsoft-kiota-authentication-azure:1.1.13
|    |    +--- io.opentelemetry:opentelemetry-api:1.38.0
|    |    |    \--- io.opentelemetry:opentelemetry-context:1.38.0
|    |    +--- io.opentelemetry:opentelemetry-context:1.38.0
|    |    +--- jakarta.annotation:jakarta.annotation-api:3.0.0
|    |    +--- com.azure:azure-core:1.49.0 -> 1.49.1
|    |    |    +--- com.azure:azure-json:1.1.0
|    |    |    +--- com.azure:azure-xml:1.0.0
|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5
|    |    |    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (c)
|    |    |    |         +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (c)
|    |    |    |         +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (c)
|    |    |    |         \--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5 (c)
|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|    |    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (*)
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|    |    |    +--- org.slf4j:slf4j-api:1.7.36
|    |    |    \--- io.projectreactor:reactor-core:3.4.38
|    |    |         \--- org.reactivestreams:reactive-streams:1.0.4
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13
|    |         +--- io.github.std-uritemplate:std-uritemplate:0.0.57
|    |         +--- io.opentelemetry:opentelemetry-api:1.38.0 (*)
|    |         \--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    +--- com.microsoft.kiota:microsoft-kiota-http-okHttp:1.1.13
|    |    +--- io.opentelemetry:opentelemetry-api:1.38.0 (*)
|    |    +--- io.opentelemetry:opentelemetry-context:1.38.0
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-json:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    +--- com.google.code.gson:gson:2.11.0
|    |    |    \--- com.google.errorprone:error_prone_annotations:2.27.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-text:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-form:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-multipart:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    \--- com.microsoft.graph:microsoft-graph-core:3.1.13
|         +--- com.google.code.gson:gson:2.11.0 (*)
|         +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|         +--- com.microsoft.kiota:microsoft-kiota-authentication-azure:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-http-okHttp:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-json:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-text:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-form:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-multipart:1.1.13 (*)
|         +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
|         +--- com.azure:azure-core:1.49.0 -> 1.49.1 (*)
|         \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
\--- com.azure:azure-identity:1.13.0
     +--- com.azure:azure-core:1.49.1 (*)
     +--- com.azure:azure-core-http-netty:1.15.1
     |    +--- com.azure:azure-core:1.49.1 (*)
     |    +--- io.netty:netty-handler:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-resolver:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-transport:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-resolver:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport:4.1.110.Final (*)
     |    +--- io.netty:netty-handler-proxy:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-socks:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |         \--- io.netty:netty-handler:4.1.110.Final (*)
     |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http2:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-handler:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-epoll:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-epoll:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-kqueue:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-kqueue:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-tcnative-boringssl-static:2.0.65.Final
     |    |    \--- io.netty:netty-tcnative-classes:2.0.65.Final
     |    +--- io.projectreactor.netty:reactor-netty-http:1.0.45 -> 1.0.17
     |    |    +--- io.netty:netty-codec-http:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-http2:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns:4.1.75.Final
     |    |    |    +--- io.netty:netty-common:4.1.75.Final -> 4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec-dns:4.1.75.Final
     |    |    |    |    +--- io.netty:netty-common:4.1.75.Final -> 4.1.110.Final
     |    |    |    |    +--- io.netty:netty-buffer:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    |    +--- io.netty:netty-transport:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    |    \--- io.netty:netty-codec:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-handler:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.75.Final
     |    |    |    \--- io.netty:netty-resolver-dns-classes-macos:4.1.75.Final
     |    |    |         +--- io.netty:netty-common:4.1.75.Final -> 4.1.110.Final
     |    |    |         +--- io.netty:netty-resolver-dns:4.1.75.Final (*)
     |    |    |         \--- io.netty:netty-transport-native-unix-common:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-epoll:4.1.75.Final -> 4.1.110.Final (*)
     |    |    +--- io.projectreactor.netty:reactor-netty-core:1.0.17
     |    |    |    +--- io.netty:netty-handler:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-handler-proxy:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns:4.1.75.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.75.Final (*)
     |    |    |    +--- io.netty:netty-transport-native-epoll:4.1.75.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.projectreactor:reactor-core:3.4.16 -> 3.4.38 (*)
     |    |    \--- io.projectreactor:reactor-core:3.4.16 -> 3.4.38 (*)
     |    \--- io.netty:netty-common:4.1.110.Final
     +--- com.azure:azure-json:1.1.0
     +--- com.microsoft.azure:msal4j:1.15.1
     |    +--- com.nimbusds:oauth2-oidc-sdk:11.9.1
     |    |    +--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    |    +--- com.nimbusds:content-type:2.3
     |    |    +--- net.minidev:json-smart:2.5.0
     |    |    |    \--- net.minidev:accessors-smart:2.5.0
     |    |    |         \--- org.ow2.asm:asm:9.3
     |    |    +--- com.nimbusds:lang-tag:1.7
     |    |    \--- com.nimbusds:nimbus-jose-jwt:9.37.3
     |    |         \--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    +--- net.minidev:json-smart:2.5.0 (*)
     |    +--- org.slf4j:slf4j-api:1.7.36
     |    \--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 -> 2.13.5 (*)
     +--- com.microsoft.azure:msal4j-persistence-extension:1.3.0
     |    +--- com.microsoft.azure:msal4j:1.15.0 -> 1.15.1 (*)
     |    +--- net.java.dev.jna:jna:5.13.0
     |    +--- net.java.dev.jna:jna-platform:5.13.0
     |    |    \--- net.java.dev.jna:jna:5.13.0
     |    \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.36
     \--- net.java.dev.jna:jna-platform:5.6.0 -> 5.13.0 (*)

Here is a copy of the test project if necessary, you will of course have to deploy this in a payara server payara-microsoft-graph-shared.zip

https://www.payara.fish/downloads/payara-platform-community-edition/

Abneco commented 1 month ago

I said to myself that perhaps dependencies had evolved since the 2024 version of payara Payara Server 6.2024.6 (Full) I tested to reinstall a payara server in the latest version

I removed the following lines

//configurations.all {
//    resolutionStrategy {
//        force("io.projectreactor.netty:reactor-netty-http:1.0.17")
//    }
//}

and it seems to work without

I look at the dependencies again to check the update`

I don't understand despite everything this one doesn't seem to have changed... and it works without defining a lower dependency io.projectreactor.netty:reactor-netty-http:1.0.45

compileClasspath - Compile classpath for null/main.
+--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21
|    +--- org.jetbrains:annotations:13.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21 (c)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.10 (c)
+--- jakarta.platform:jakarta.jakartaee-web-api:10.0.0
|    +--- jakarta.servlet:jakarta.servlet-api:6.0.0
|    +--- jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.1.0
|    +--- jakarta.el:jakarta.el-api:5.0.1
|    +--- jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:3.0.0
|    +--- jakarta.faces:jakarta.faces-api:4.0.1
|    +--- jakarta.ws.rs:jakarta.ws.rs-api:3.1.0
|    +--- jakarta.websocket:jakarta.websocket-api:2.1.0
|    +--- jakarta.websocket:jakarta.websocket-client-api:2.1.0
|    +--- jakarta.json:jakarta.json-api:2.1.0
|    +--- jakarta.json.bind:jakarta.json.bind-api:3.0.0
|    +--- jakarta.annotation:jakarta.annotation-api:2.1.1
|    +--- jakarta.ejb:jakarta.ejb-api:4.0.1
|    +--- jakarta.transaction:jakarta.transaction-api:2.0.1
|    +--- jakarta.persistence:jakarta.persistence-api:3.1.0
|    +--- jakarta.validation:jakarta.validation-api:3.0.2
|    +--- jakarta.interceptor:jakarta.interceptor-api:2.1.0
|    +--- jakarta.enterprise:jakarta.enterprise.cdi-api:4.0.1
|    +--- jakarta.enterprise:jakarta.enterprise.lang-model:4.0.1
|    +--- jakarta.inject:jakarta.inject-api:2.0.1
|    +--- jakarta.authentication:jakarta.authentication-api:3.0.0
|    \--- jakarta.security.enterprise:jakarta.security.enterprise-api:3.0.0
+--- com.microsoft.graph:microsoft-graph:6.13.0
|    \--- com.microsoft.graph:microsoft-graph-core:3.1.13
|         +--- com.squareup.okhttp3:okhttp:4.12.0
|         |    +--- com.squareup.okio:okio:3.6.0
|         |    |    \--- com.squareup.okio:okio-jvm:3.6.0
|         |    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|         |    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|         |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10
|         |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|         |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 1.9.21
|         |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 (*)
|         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10 (*)
|         +--- com.azure:azure-core:1.49.0 -> 1.49.1
|         |    +--- com.azure:azure-json:1.1.0
|         |    +--- com.azure:azure-xml:1.0.0
|         |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5
|         |    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (c)
|         |    |         +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (c)
|         |    |         +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (c)
|         |    |         \--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5 (c)
|         |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|         |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5
|         |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|         |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|         |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5
|         |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|         |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|         |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (*)
|         |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|         |    +--- org.slf4j:slf4j-api:1.7.36
|         |    \--- io.projectreactor:reactor-core:3.4.38
|         |         \--- org.reactivestreams:reactive-streams:1.0.4
|         \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13
\--- com.azure:azure-identity:1.13.0
     +--- com.azure:azure-core:1.49.1 (*)
     +--- com.azure:azure-core-http-netty:1.15.1
     |    +--- com.azure:azure-core:1.49.1 (*)
     |    +--- io.netty:netty-handler:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-resolver:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-transport:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-resolver:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport:4.1.110.Final (*)
     |    +--- io.netty:netty-handler-proxy:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-socks:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |         \--- io.netty:netty-handler:4.1.110.Final (*)
     |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http2:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-handler:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-epoll:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-epoll:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-kqueue:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-kqueue:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-tcnative-boringssl-static:2.0.65.Final
     |    |    \--- io.netty:netty-tcnative-classes:2.0.65.Final
     |    +--- io.projectreactor.netty:reactor-netty-http:1.0.45
     |    |    +--- io.netty:netty-codec-http:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-http2:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns:4.1.109.Final
     |    |    |    +--- io.netty:netty-common:4.1.109.Final -> 4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec-dns:4.1.109.Final
     |    |    |    |    +--- io.netty:netty-common:4.1.109.Final -> 4.1.110.Final
     |    |    |    |    +--- io.netty:netty-buffer:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    |    +--- io.netty:netty-transport:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    |    \--- io.netty:netty-codec:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-handler:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.109.Final
     |    |    |    \--- io.netty:netty-resolver-dns-classes-macos:4.1.109.Final
     |    |    |         +--- io.netty:netty-common:4.1.109.Final -> 4.1.110.Final
     |    |    |         +--- io.netty:netty-resolver-dns:4.1.109.Final (*)
     |    |    |         \--- io.netty:netty-transport-native-unix-common:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-epoll:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.projectreactor.netty:reactor-netty-core:1.0.45
     |    |    |    +--- io.netty:netty-handler:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-handler-proxy:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns:4.1.109.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.109.Final (*)
     |    |    |    +--- io.netty:netty-transport-native-epoll:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.projectreactor:reactor-core:3.4.38 (*)
     |    |    \--- io.projectreactor:reactor-core:3.4.38 (*)
     |    \--- io.netty:netty-common:4.1.110.Final
     +--- com.azure:azure-json:1.1.0
     +--- com.microsoft.azure:msal4j:1.15.1
     |    +--- com.nimbusds:oauth2-oidc-sdk:11.9.1
     |    |    +--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    |    +--- com.nimbusds:content-type:2.3
     |    |    +--- net.minidev:json-smart:2.5.0
     |    |    |    \--- net.minidev:accessors-smart:2.5.0
     |    |    |         \--- org.ow2.asm:asm:9.3
     |    |    +--- com.nimbusds:lang-tag:1.7
     |    |    \--- com.nimbusds:nimbus-jose-jwt:9.37.3
     |    |         \--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    +--- net.minidev:json-smart:2.5.0 (*)
     |    +--- org.slf4j:slf4j-api:1.7.36
     |    \--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 -> 2.13.5 (*)
     +--- com.microsoft.azure:msal4j-persistence-extension:1.3.0
     |    +--- com.microsoft.azure:msal4j:1.15.0 -> 1.15.1 (*)
     |    +--- net.java.dev.jna:jna:5.13.0
     |    +--- net.java.dev.jna:jna-platform:5.13.0
     |    |    \--- net.java.dev.jna:jna:5.13.0
     |    \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.36
     \--- net.java.dev.jna:jna-platform:5.6.0 -> 5.13.0 (*)
runtimeClasspath - Runtime classpath of null/main.
+--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21
|    +--- org.jetbrains:annotations:13.0
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0 -> 1.9.10 (c)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.21 (c)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0 -> 1.9.10 (c)
+--- com.microsoft.graph:microsoft-graph:6.13.0
|    +--- com.squareup.okhttp3:okhttp:4.12.0
|    |    +--- com.squareup.okio:okio:3.6.0
|    |    |    \--- com.squareup.okio:okio-jvm:3.6.0
|    |    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
|    |    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|    |    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10
|    |    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.10 -> 1.9.21 (*)
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10 -> 1.9.21
|    |    |              \--- org.jetbrains.kotlin:kotlin-stdlib:1.9.21 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21 -> 1.9.10 (*)
|    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    +--- com.microsoft.kiota:microsoft-kiota-authentication-azure:1.1.13
|    |    +--- io.opentelemetry:opentelemetry-api:1.38.0
|    |    |    \--- io.opentelemetry:opentelemetry-context:1.38.0
|    |    +--- io.opentelemetry:opentelemetry-context:1.38.0
|    |    +--- jakarta.annotation:jakarta.annotation-api:3.0.0
|    |    +--- com.azure:azure-core:1.49.0 -> 1.49.1
|    |    |    +--- com.azure:azure-json:1.1.0
|    |    |    +--- com.azure:azure-xml:1.0.0
|    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5
|    |    |    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (c)
|    |    |    |         +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (c)
|    |    |    |         +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (c)
|    |    |    |         \--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5 (c)
|    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|    |    |    +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.5
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-annotations:2.13.5 (*)
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-core:2.13.5 (*)
|    |    |    |    +--- com.fasterxml.jackson.core:jackson-databind:2.13.5 (*)
|    |    |    |    \--- com.fasterxml.jackson:jackson-bom:2.13.5 (*)
|    |    |    +--- org.slf4j:slf4j-api:1.7.36
|    |    |    \--- io.projectreactor:reactor-core:3.4.38
|    |    |         \--- org.reactivestreams:reactive-streams:1.0.4
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13
|    |         +--- io.github.std-uritemplate:std-uritemplate:0.0.57
|    |         +--- io.opentelemetry:opentelemetry-api:1.38.0 (*)
|    |         \--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    +--- com.microsoft.kiota:microsoft-kiota-http-okHttp:1.1.13
|    |    +--- io.opentelemetry:opentelemetry-api:1.38.0 (*)
|    |    +--- io.opentelemetry:opentelemetry-context:1.38.0
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-json:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    +--- com.google.code.gson:gson:2.11.0
|    |    |    \--- com.google.errorprone:error_prone_annotations:2.27.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-text:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-form:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    +--- com.microsoft.kiota:microsoft-kiota-serialization-multipart:1.1.13
|    |    +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|    |    \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
|    \--- com.microsoft.graph:microsoft-graph-core:3.1.13
|         +--- com.google.code.gson:gson:2.11.0 (*)
|         +--- jakarta.annotation:jakarta.annotation-api:2.1.1 -> 3.0.0
|         +--- com.microsoft.kiota:microsoft-kiota-authentication-azure:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-http-okHttp:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-json:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-text:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-form:1.1.13 (*)
|         +--- com.microsoft.kiota:microsoft-kiota-serialization-multipart:1.1.13 (*)
|         +--- com.squareup.okhttp3:okhttp:4.12.0 (*)
|         +--- com.azure:azure-core:1.49.0 -> 1.49.1 (*)
|         \--- com.microsoft.kiota:microsoft-kiota-abstractions:1.1.13 (*)
\--- com.azure:azure-identity:1.13.0
     +--- com.azure:azure-core:1.49.1 (*)
     +--- com.azure:azure-core-http-netty:1.15.1
     |    +--- com.azure:azure-core:1.49.1 (*)
     |    +--- io.netty:netty-handler:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-resolver:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final
     |    |    |    \--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-transport:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-resolver:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport:4.1.110.Final (*)
     |    +--- io.netty:netty-handler-proxy:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-socks:4.1.110.Final
     |    |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |         \--- io.netty:netty-handler:4.1.110.Final (*)
     |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-codec-http2:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec:4.1.110.Final (*)
     |    |    +--- io.netty:netty-handler:4.1.110.Final (*)
     |    |    \--- io.netty:netty-codec-http:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-epoll:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-epoll:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-transport-native-kqueue:4.1.110.Final
     |    |    +--- io.netty:netty-common:4.1.110.Final
     |    |    +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    |    \--- io.netty:netty-transport-classes-kqueue:4.1.110.Final
     |    |         +--- io.netty:netty-common:4.1.110.Final
     |    |         +--- io.netty:netty-buffer:4.1.110.Final (*)
     |    |         +--- io.netty:netty-transport:4.1.110.Final (*)
     |    |         \--- io.netty:netty-transport-native-unix-common:4.1.110.Final (*)
     |    +--- io.netty:netty-tcnative-boringssl-static:2.0.65.Final
     |    |    \--- io.netty:netty-tcnative-classes:2.0.65.Final
     |    +--- io.projectreactor.netty:reactor-netty-http:1.0.45
     |    |    +--- io.netty:netty-codec-http:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-codec-http2:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns:4.1.109.Final
     |    |    |    +--- io.netty:netty-common:4.1.109.Final -> 4.1.110.Final
     |    |    |    +--- io.netty:netty-buffer:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-transport:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-codec-dns:4.1.109.Final
     |    |    |    |    +--- io.netty:netty-common:4.1.109.Final -> 4.1.110.Final
     |    |    |    |    +--- io.netty:netty-buffer:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    |    +--- io.netty:netty-transport:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    |    \--- io.netty:netty-codec:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.netty:netty-handler:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.109.Final
     |    |    |    \--- io.netty:netty-resolver-dns-classes-macos:4.1.109.Final
     |    |    |         +--- io.netty:netty-common:4.1.109.Final -> 4.1.110.Final
     |    |    |         +--- io.netty:netty-resolver-dns:4.1.109.Final (*)
     |    |    |         \--- io.netty:netty-transport-native-unix-common:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.netty:netty-transport-native-epoll:4.1.109.Final -> 4.1.110.Final (*)
     |    |    +--- io.projectreactor.netty:reactor-netty-core:1.0.45
     |    |    |    +--- io.netty:netty-handler:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-handler-proxy:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns:4.1.109.Final (*)
     |    |    |    +--- io.netty:netty-resolver-dns-native-macos:4.1.109.Final (*)
     |    |    |    +--- io.netty:netty-transport-native-epoll:4.1.109.Final -> 4.1.110.Final (*)
     |    |    |    \--- io.projectreactor:reactor-core:3.4.38 (*)
     |    |    \--- io.projectreactor:reactor-core:3.4.38 (*)
     |    \--- io.netty:netty-common:4.1.110.Final
     +--- com.azure:azure-json:1.1.0
     +--- com.microsoft.azure:msal4j:1.15.1
     |    +--- com.nimbusds:oauth2-oidc-sdk:11.9.1
     |    |    +--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    |    +--- com.nimbusds:content-type:2.3
     |    |    +--- net.minidev:json-smart:2.5.0
     |    |    |    \--- net.minidev:accessors-smart:2.5.0
     |    |    |         \--- org.ow2.asm:asm:9.3
     |    |    +--- com.nimbusds:lang-tag:1.7
     |    |    \--- com.nimbusds:nimbus-jose-jwt:9.37.3
     |    |         \--- com.github.stephenc.jcip:jcip-annotations:1.0-1
     |    +--- net.minidev:json-smart:2.5.0 (*)
     |    +--- org.slf4j:slf4j-api:1.7.36
     |    \--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 -> 2.13.5 (*)
     +--- com.microsoft.azure:msal4j-persistence-extension:1.3.0
     |    +--- com.microsoft.azure:msal4j:1.15.0 -> 1.15.1 (*)
     |    +--- net.java.dev.jna:jna:5.13.0
     |    +--- net.java.dev.jna:jna-platform:5.13.0
     |    |    \--- net.java.dev.jna:jna:5.13.0
     |    \--- org.slf4j:slf4j-api:1.7.7 -> 1.7.36
     \--- net.java.dev.jna:jna-platform:5.6.0 -> 5.13.0 (*)
calebkiage commented 1 month ago

Forcing a dependency version to a lower one is not advisable because you might break packages that depend on a later version of a package (especially when newer APIs are used). You also lose out on any security updates as well. Since removing the forced dependency works, I guess the bug is solved, right?

Abneco commented 1 month ago

yes since I updated payara, the bug is resolved