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

use*_*930 5 java keycloak

尝试使用以下代码创建一个 keycloak 对象以使用 keycloak 注册新用户:

 Keycloak keycloak = KeycloakBuilder.builder()
                            .serverUrl(serverUrl)
                            .realm(realm)
                            .grantType(OAuth2Constants.PASSWORD)
                            .clientId(clientId)
                            .clientSecret(clientSecret)
                            .username("someone")
                            .password("someword")
                            .build();
Run Code Online (Sandbox Code Playgroud)

但得到以下错误:

servlet [dispatcherServlet] 的 Servlet.service() 在路径为 [] 的上下文中抛出异常 [Handler dispatch failed; 嵌套异常是 java.lang.NoClassDefFoundError: org/jboss/resteasy/client/jaxrs/ResteasyClientBuilder] 的根本原因

java.lang.ClassNotFoundException: org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder 在 java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_131] 在 java.lang.ClassLoader.loadClass(ClassLoader .java:424) ~[na:1.8.0_131] 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_131] 在 java.lang.ClassLoader.loadClass(ClassLoader.java :357) ~[na:1.8.0_131] 在 org.keycloak.admin.client.Keycloak.(Keycloak.java:58) ~[keycloak-admin-client-4.3.0.Final.jar:4.3.0.Final ] 在 org.keycloak.admin.client.KeycloakBuilder.build(KeycloakBuilder.java:147) ~[keycloak-admin-client-4.3.0.Final.jar:4.3.0.Final] 在 hello.GreetingController.greeting(GreetingController .java:100) ~[main/:na] 在 sun.reflect.NativeMethodAccessorImpl。invoke0(本机方法) ~[na:1.8.0_131]

Bat*_*han 6

请尝试将这些依赖项添加到您的项目 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>
Run Code Online (Sandbox Code Playgroud)