ClassNotFoundException: org.jboss.resteasy.client.jaxrs.Rest



尝试创建一个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 [] 引发异常 [处理程序调度失败;嵌套异常为 java.lang.NoClassDefFoundError: org/jboss/resteasy/client/jaxrs/ResteasyClientBuilder] 与根本原因

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] 在你好。GreetingController.greeting(GreetingController.java:100( ~[主要/:NA] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method( ~[na:1.8.0_131]

请尝试将这些依赖项添加到您的项目 pom 中。 依赖项的版本可能是 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>

我遇到了这样的问题,请尝试排除覆盖包,例如:

<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
<version>18.0.0</version>
<exclusions>
<exclusion>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxb-provider</artifactId>
</exclusion>
</exclusions>
</dependency>

最新更新