尝试创建一个 keycloak 对象以使用以下代码向 keycloak 注册新用户:
Keycloak keycloak = KeycloakBuilder.builder()
.serverUrl(serverUrl)
.realm(realm)
.grantType(OAuth2Constants.PASSWORD)
.clientId(clientId)
.clientSecret(clientSecret)
.username("someone")
.password("someword")
.build();
但是出现如下错误:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: org/jboss/resteasy/client/jaxrs/ResteasyClientBuilder] with root cause
java.lang.ClassNotFoundException: org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_131] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_131] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_131] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_131] at org.keycloak.admin.client.Keycloak.(Keycloak.java:58) ~[keycloak-admin-client-4.3.0.Final.jar:4.3.0.Final] at org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:147) ~[keycloak-admin-client-4.3.0.Final.jar:4.3.0.Final] at hello.GreetingController.greeting(GreetingController.java:100) ~[main/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131]
最佳答案
请尝试将这些依赖项添加到您的项目 pom.xml 中。 依赖项的版本可以是 3.6.0.Final 或 3.5.0.Final(我不确定你的 keycloak-admin-client 依赖项版本。但是,我使用 keycloak-admin-client 3.0.0.Final 和 3.5.0.Final resteasy-client. 它运行成功。)
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
</dependency>
关于java - ClassNotFoundException : org. jboss.resteasy.client.jaxrs.ResteasyClientBuilder 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52466242/