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

使用Jakarta 10.0.0构建RESTful客户端遇ClientBuilder Provider缺失问题

问题原因与修复方案

问题原因

你添加的jakarta.jakartaee-api只是Jakarta EE的API规范包,里面只有接口和注解定义,没有任何可执行的实现代码。ClientBuilder是JAX-RS(Jakarta RESTful Web Services)的客户端入口类,运行时必须依赖具体的实现库才能创建实例,所以才会抛出ClassNotFoundException找不到提供者的异常。

修复方案:添加JAX-RS客户端实现依赖

你需要引入一个符合Jakarta EE 10规范的JAX-RS客户端实现,常用的有两种选择,二选一即可:

选项1:使用Eclipse Jersey(Jakarta EE官方推荐实现)

修改pom.xml,替换原有的API依赖为Jersey的客户端相关依赖(如果需要JSON解析,记得加上JSON处理包):

<dependencies>
    <!-- Jersey JAX-RS客户端核心实现 -->
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>3.1.5</version>
    </dependency>
    <!-- 支持JSON响应解析 -->
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-binding</artifactId>
        <version>3.1.5</version>
    </dependency>
</dependencies>

选项2:使用RESTEasy(RedHat出品的JAX-RS实现)

如果更习惯RESTEasy,添加以下依赖:

<dependencies>
    <!-- RESTEasy JAX-RS客户端核心实现 -->
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>6.2.7.Final</version>
    </dependency>
    <!-- 支持JSON响应解析 -->
    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-json-binding-provider</artifactId>
        <version>6.2.7.Final</version>
    </dependency>
</dependencies>

验证操作

  1. 执行mvn clean install重新构建项目
  2. 运行CompanyWebClient主类,此时ClientBuilder.newClient()应该能正常创建客户端实例,成功调用REST接口

注:版本号可根据最新稳定版调整,需确保版本与Jakarta EE 10兼容(Jersey 3.x、RESTEasy 6.x均适配Jakarta EE 10)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:32:54