You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将自定义Keycloak认证器迁移到Quarkus:Jakarta REST ClientBuilder实现问题

Keycloak Quarkus版本自定义认证器迁移:ClientBuilder找不到Provider的问题

我正在将基于Java EE及JAX-RS的自定义Keycloak认证器迁移至Quarkus版本的Keycloak。已经完成所有javax*包到jakarta*的替换,适配了Jakarta EE及Jakarta RESTful Web Services的API变更,大部分迁移工作已完成。

但在执行获取Keycloak访问令牌的代码时出现错误,相关代码如下:

Client client = ClientBuilder.newClient();

抛出的错误信息为:

Uncaught server error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Provider for jakarta.ws.rs.client.ClientBuilder cannot be found

我清楚Jakarta RESTful Web Services只是规范,ClientBuilder需要具体的实现类支持。目前常见的实现包括Jersey、RESTEasy Classic、Quarkus REST(原RESTEasy Reactive)等。根据Quarkus官方说明,2.8版本之前默认使用RESTEasy Classic,2.8版本起默认改为Quarkus REST。

当前我使用的Keycloak 24.0.4基于Quarkus 3.8.4,而io.quarkus:quarkus-rest*系列包的最低版本为3.9.x,因此我推测应该使用RESTEasy Reactive而非Quarkus REST,但始终找不到提供ClientBuilder实现的对应Maven包。

我的上述推理是否正确?请指出适配Jakarta REST的ClientBuilder实现对应的Maven包及相关Javadoc文档。

内容的提问来源于stack exchange,提问作者niklassc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:54:58