Keycloak自定义Provider升级后REST调用遇类找不到问题及解决
Keycloak Quarkus 22.0.1 中 Jakarta RS ClientBuilder 找不到 Provider 问题的解决
问题场景
- 开发自定义Keycloak Provider,其中的自定义Mapper需在用户通过ADFS完成身份认证后调用第三方REST API
- 将Keycloak升级至Quarkus发行版(22.0.1),完成从javax到jakarta的依赖迁移,引入如下依赖:
<dependency> <groupId>jakarta.ws.rs</groupId> <artifactId>jakarta.ws.rs-api</artifactId> <version>3.1.0</version> </dependency>
触发的错误
Maven构建成功,但触发REST调用时Keycloak抛出异常:
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Provider for jakarta.ws.rs.client.ClientBuilder cannot be found
尝试过的无效方案
- 切换不同版本的Jakarta RS依赖包
- 回退使用javax相关依赖,均无法完成构建
最终解决方法
放弃使用Jakarta RS Client,改用Keycloak内置的SimpleHttp工具类实现REST调用,问题得到解决。
内容的提问来源于stack exchange,提问作者Daennu
相关产品推荐
相关产品推荐

