我正在尝试使用Spring Boot应用程序中的keycloak-admin-client更改keycloak中用户的角色,但是我什至无法实例化keycloak。
我正在尝试在这里获取密钥库服务器,但是我收到了InstantiationError
String serverUrl = "http://localhost:8080/auth";
String realm = "User-Service-Realm";
String clientId = "admin-cli";
Keycloak keycloak = Keycloak.getInstance(
serverUrl,
realm,
"admin",
"admin",
clientId);
Exception in thread "main" java.lang.InstantiationError: org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder
at org.keycloak.admin.client.Keycloak.<init>(Keycloak.java:58)
at org.keycloak.admin.client.Keycloak.getInstance(Keycloak.java:106)
at de.uni.stuttgart.isw.ccm.userservice.api.KeycloakAdminClientExample.main(KeycloakAdminClientExample.java:31)
显然,这是管理客户端本身的问题,因为密钥斗篷构建器基于resteasyclientbuilder。
您似乎具有不兼容的库或库版本。错误消息抱怨ResteasyClientBuilder
是抽象的。在我们的工作项目中情况并非如此。
因此,作为参考,以下是我们的gradle文件的摘录,因此您可以看到库版本的有效组合:
implementation 'org.keycloak:keycloak-admin-client:6.0.1'
implementation 'javax.ws.rs:javax.ws.rs-api:2.0'
implementation 'org.jboss.resteasy:resteasy-jaxrs:3.6.3.Final'
implementation 'org.jboss.resteasy:resteasy-client:3.6.3.Final'
implementation 'org.jboss.resteasy:resteasy-jackson2-provider:3.6.3.Final'
更新:
ResteasyClientBuilder
has become an abstract class with version 4.0 of RESTEasy. So it looks as if you are using version 4.x, while Keycloak expects 3.x.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句