Я меняю зависимости в pom.xml для версии 24 и пересобираю файл .jar.
Код: Выделить всё
org.keycloak
keycloak-core
24.0.4
org.keycloak
keycloak-server-spi
24.0.4
org.keycloak
keycloak-server-spi-private
24.0.4
org.keycloak
keycloak-admin-client
24.0.4
Код: Выделить всё
ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-1) Uncaught server error: java.util.ServiceConfigurationError: jakarta.ws.rs.client.ClientBuilder: org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl Unable to get public no-arg constructor at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:586) at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:679) at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1240) at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) at jakarta.ws.rs.client.FactoryFinder.lambda$findFirstService$1(FactoryFinder.java:178) at jakarta.ws.rs.client.FactoryFinder.findFirstService(FactoryFinder.java:187) at jakarta.ws.rs.client.FactoryFinder.find(FactoryFinder.java:114) at jakarta.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:62) at sk.myProject.project.keycloak.KeycloakEventListenerProvider.(KeycloakEventListenerProvider.java:61) at sk.myProject.project.keycloak.KeycloakEventListenerProviderFactory.create(KeycloakEventListenerProviderFactory.java:29) at sk.myProject.project.keycloak.KeycloakEventListenerProviderFactory.create(KeycloakEventListenerProviderFactory.java:13) at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:195) at org.keycloak.models.KeycloakBeanProducer_ProducerMethod_getKeycloakSession_XoSEUTXOsE3bpqXlGMAykCiECUM_ClientProxy.getProvider(Unknown Source) at org.keycloak.services.resources.admin.AdminEventBuilder.lambda$addListeners$0(AdminEventBuilder.java:136) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at org.keycloak.services.resources.admin.AdminEventBuilder.addListeners(AdminEventBuilder.java:135) at org.keycloak.services.resources.admin.AdminEventBuilder.(AdminEventBuilder.java:63) at org.keycloak.services.resources.admin.AdminEventBuilder.(AdminEventBuilder.java:56) at org.keycloak.services.resources.admin.RealmsAdminResource.getRealmAdmin(RealmsAdminResource.java:206) at org.keycloak.services.resources.admin.RealmsAdminResource$quarkusrestinvoker$getRealmAdmin_a79304c5f6b93bb8957395d5fd7a2ca5d97a5ae2.invoke(Unknown Source) at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29) at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141) at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147) at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582) at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538) at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29) at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.lang.NoClassDefFoundError: org/jboss/resteasy/core/providerfactory/ResteasyProviderFactoryImpl at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012) at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:105) at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:65) at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) at java.base/java.lang.Class.getConstructor0(Class.java:3578) at java.base/java.lang.Class.getConstructor(Class.java:2271) at java.base/java.util.ServiceLoader$1.run(ServiceLoader.java:666) at java.base/java.util.ServiceLoader$1.run(ServiceLoader.java:663) at java.base/java.security.AccessController.doPrivileged(AccessController.java:569) at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:674) ... 38 more Caused by: java.lang.ClassNotFoundException: org.jboss.resteasy.core.providerfactory.ResteasyProviderFactoryImpl at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:115) at io.quarkus.bootstrap.runner.RunnerClassLoader.loadClass(RunnerClassLoader.java:65) ... 50 more
Код: Выделить всё
import com.fasterxml.jackson.jakarta.rs.json.JacksonJsonProvider;
import com.google.gson.Gson;
import jakarta.ws.rs.client.Client;
import jakarta.ws.rs.client.ClientBuilder;
import lombok.extern.slf4j.Slf4j;
import org.keycloak.OAuth2Constants;
import org.keycloak.admin.client.Keycloak;
import org.keycloak.admin.client.KeycloakBuilder;
import org.keycloak.admin.client.resource.RealmResource;
import org.keycloak.admin.client.resource.UsersResource;
import org.keycloak.events.Event;
import org.keycloak.events.EventListenerProvider;
import org.keycloak.events.admin.AdminEvent;
import org.keycloak.events.admin.OperationType;
import org.keycloak.models.KeycloakSession;
import org.keycloak.representations.idm.UserRepresentation;
import org.springframework.util.StringUtils;
...
ClientBuilder clientBuilder = ClientBuilder.newBuilder();
clientBuilder.register(new JacksonJsonProvider());
Client client = clientBuilder.build();
keycloak = KeycloakBuilder.builder()
.serverUrl(kcBaseUrl)
.realm(kcRealmName)
.grantType(OAuth2Constants.PASSWORD)
.clientId(kcClientId)
.username(kcUsername)
.password(kcPassword)
.scope("openid")
.resteasyClient(client)
.build();
}
...
Подробнее здесь: https://stackoverflow.com/questions/790 ... m-23-to-24